【发布时间】:2014-05-05 09:35:42
【问题描述】:
我尝试使用 QProcess (Ubuntu) 运行 x-terminal-emulator。
process->setWorkingDirectory(thedirectory);
process->start("x-terminal-emulator",arg3);
connect(process,SIGNAL(finished(int)),this,SLOT(deletecache()));
运行时,deletecache() 会在终端窗口打开后立即执行。
如果我将start 更改为execute,则不会发出已完成的信号。
终端窗口关闭时如何获取finished(int)信号?
【问题讨论】:
-
不知道,但调用后连接是个坏主意。
-
可能是因为
x-terminal-emulator是运行真实终端进程并退出的脚本。 -
@PavelStrakhov:是的,没错,我能想到的唯一原因是真正可执行文件的独立脚本进程。 miraiE是这样吗?
-
我认为 x-terminal-emulator 是 Linux 中的伪命令,可以在 KDE 中引用 Konsole,在 Gnome 中引用 gnome-terminal,XTerm 等等。