QProcess 退出状态并开始新的
Posted
技术标签:
【中文标题】QProcess 退出状态并开始新的【英文标题】:QProcess exit status and starting new one 【发布时间】:2016-12-05 14:39:01 【问题描述】:我是使用 QT 的新手
代码:
void MainWindow::test()
ui->label->setText("it worked !");
proc->start("c:/windows/system32/calc.exe");
void MainWindow::on_pushButton_clicked()
proc = new QProcess();
connect(proc,SIGNAL(finished(int,QProcess::ExitStatus)),this,SLOT(test()));
proc->start("c:/windows/system32/notepad.exe");
所以当我关闭它时它会启动记事本,开始计算但它会无限打开。
我的代码有什么问题?
【问题讨论】:
您的connect
将不起作用,您的问题不清楚...请添加更多详细信息。
【参考方案1】:
由于您没有断开插槽,因此“calc.exe”退出的那一刻将再次启动。
即当 notepad.exe 完成时,信号会触发运行“calc.exe”的test()
插槽。
当“calc.exec”完成后,同样的一系列事件再次发生。
【讨论】:
谢谢我添加了这个断开连接(proc,SIGNAL(finished(int,QProcess::ExitStatus)),this,SLOT(test()));测试功能,它运行完美。只是出于好奇,我是否以错误的方式使用信号和插槽;有没有更清洁的方法或者这样可以吗? 听起来不错。或者,您可以在启动 calc.exe 之前检查test()
哪个程序已结束以上是关于QProcess 退出状态并开始新的的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows 上向 QProcess 发送 Ctrl+C