我在QT中创建了一个带有一个按钮的主窗口,当我点击按钮时尝试运行一个额外的小程序时,它不起作用。我有以下代码:
void MainWindow::on_pushButton_clicked()
{
QProcess *process = new QProcess(this);
process->start("/home/helloworld.out");
}
我正在使用Linux。有什么想法会发生什么?先感谢您。
答案 0 :(得分:0)
您正在开始您的流程,然后立即返回。如果您不打算连接QProcess
中的任何信号,则可以静态分配它以避免使用deleteLater
。
尝试这样的事情。
void MainWindow::on_pushButton_clicked()
{
QProcess process;;
process.start("~/helloworld.out");
process.waitForStarted();
process.waitForFinished();
process.close();
}
我会走出困境并建议你可能不是/home/helloworld.out
而是~/helloworld.out
。在任何情况下都要检查路径是否存在。