如何使用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工程文件的界面呢? 感谢高手回复
QProcess,启动其他工具
[解决办法]
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);