问题描述
如果我使用 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.
这篇关于如果我使用 startDetached 启动 QProcess,我会得到一个完成的插槽吗的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!