欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

怎么使用qprocess启动另外一个工程文件

更新时间: 2014-01-05 02:44:17 责任编辑: Author_N1

 

如何使用QProcess启动另外一个工程文件?
我想做一个按钮,点击这个按钮,可以启动一个qt工程。(Linux环境下)方法如下:
Temp::Temp(QWidget *parent):QWidget(parent)
{
button = new QPushButton(“start”, this);
connect(button, SIGNAL(clicked()), this, SLOT(ClickedButton()));
}

void Temp::ClickButton()
{
QProcess *p = new QProcess(this);
QString str = “/home/QT/example/ProjectName.pro”;
p -> start(str);
close();
}

Main() 省略。
编译后,为什么看不到新启动的ProjectName.pro工程文件的界面呢? 感谢高手回复

--参考方法--
void Temp::ClickButton()
{
    QProcess *p = new QProcess(this);
    QString str = “打开pro文件的程序名(比如QtCreator)    /home/QT/example/ProjectName.pro”;
    p -> start(str);
    close();
}

还需要设置环境变量,确保可以找到“打开pro文件的程序名”
--参考方法--
QProcess *p = new QProcess(this);
还要注意,new对象,养成delete的习惯。
--参考方法--

QProcess是打开pe(windows)/elf(linux)格式的可执行文件的,而你的.pro非pe格式,而这种格式只有qtcreator.exe才能解析,我想这是你为什么打不开的原因,



--参考方法--
只要是你的os上通过双击能运行的文件,都可以
--参考方法--
需要先设置参数然后再start

p->setArguments(str);
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:44:17
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/13766/
本文WWW.DOC100.NET DOC100.NET版权所有。