从QThread启动QProcess

时间:2012-06-05 05:12:31

标签: qt qthread qprocess

我在Qt中使用QThreads,我需要从Qt线程中启动命令行可执行文件,并在线程的上下文中运行相同的命令行可执行文件。

我已经使用了下面提到的代码,它似乎运行正常。但是,我想知道是否允许这种用法,因为我们正在QThread中启动QProcess。

void Help_Menu_Thread::run()
{
    Insert_Log("INFO::Help file referred by Admin");
    QProcess HelpStart;
    HelpStart.execute("c:\\windows\\hh.exe LPRS_help.chm");
    HelpStart.close();
}

等待您的回复。

此致

Saurabh G。

1 个答案:

答案 0 :(得分:1)

只要您的主程序不必等待qprocess的输出或完成它,就可以安全地使用这种方式。这个帮助启动过程将从作为父进程独立运行的线程开始。但是如果在调用HelpStart.waitForFinished()之前使用HelpStart.close();会更安全