如果我使用 startDetached 启动 QProcess,我会得到一个完成的插槽吗

2021-12-09 00:00:00 qt qprocess c++

如果我使用 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.

相关文章