问题描述
如果我使用startDetached()启动QProcess,我会得到一个完成的信号吗?我试图启动一个进程,但我需要能够在进程终止时获得一个事件。
Do I get a finished signal if I start a QProcess using startDetached()? I'm trying to start a process, but I need to be able to get an event when the process has terminated.
推荐答案
当你使用startDetached因为你没有对象时,你不能得到一个信号。
No you can't get a signal when you use startDetached because you have no object.
startDetached是一个静态函数,当你调用它的时候,一个QProcess对象。因此,即使有信号,您也无法将其连接到任何对象,因为您没有连接对象。
startDetached is a static function and when you call it the process is started directly without creating a QProcess object. Therefore, even if there was a signal you would not be able to connect it to anything since you have no object to connect from.
如果您需要一个信号,您应该创建一个QProcess对象然后调用start就可以了。然后,您可以在过程完成时获得完成的信号。
If you want a signal you should create a QProcess object and then call start on it. You will then be able to get the finished signal when the process finishes.
这篇关于如果启动QProcess使用startDetached,我得到一个完成的插槽的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!