• 8428阅读
  • 1回复

QProcess创建进程独立启动方式参数如何设置 [复制链接]

上一主题 下一主题
离线lanfe
 
只看楼主 倒序阅读 楼主  发表于: 2008-11-18
— 本帖被 XChinux 执行加亮操作(2008-11-30) —
bool QProcess::launch( const QByteArray& buf, QStringList *env )
bool QProcess::launch( const QString& buf, QStringList *env )
我看了QT说明,好像这两个函数可以实现进程的独立启动,而非父进程启动,
但是参数说明不是很明白。有人解释一下吗?最好给个例子
(我的QT版本3.3.2)

我做了两个程序,一个是编辑图形用edit,一个是显示图形用show,
两个之间可以相互调用启动,比如
在edit中添加按钮,按钮内部实现
    QProcess process;
    process.addArgument(“showPath”);//show的路径
    process.addArgument("\\edit a.a");//执行参数
    process.start()
show下调用edit类似,
window下运行良好,但是在LINUX下,因为在show中调用Edit的时候,
好像是EDIT父进程启动运行,导致编辑的时候程序假死,
我分析的原因是程序被父进程阻塞,
(因为在这个时候,我杀掉show程序,edit程序就运行正常了)
离线vrcats
只看该作者 1楼 发表于: 2008-11-18
没用过3.3,不过看文档好像也没说launch是独立启动。无论如何你可以试试看。据我观察应该是这样用:

QProcess p("g++");
QStringList sl;
sl<<"QTDIR=..."<<"LD_LIBRARY_PATH=...";
p.launch("#include<stdio.h> \nvoid main() \n{}",sl );
快速回复
限100 字节
 
上一个 下一个