QT Creator QProcess
Posted
技术标签:
【中文标题】QT Creator QProcess【英文标题】: 【发布时间】:2015-06-10 01:12:52 【问题描述】:我想运行一个 fortran 可执行文件,当我在我创建的界面中单击按钮时调用该可执行文件。
虽然当我点击按钮时没有任何反应。代码如下:
QProcess *process = new QProcess(this);
QString program = QDir::currentPath() + "/PARROT/Console1.exe";
process->start(program);
字符串是这样的,因为我希望能够更改主可执行文件和 fortran 可执行文件的路径。
我做错了什么?
【问题讨论】:
您是否使用调试器逐步检查了这些行以验证program
是否包含预期的路径?
不,我只是运行程序。
Stderr 可能不会报告任何内容。但是连接到 finished() 和 error() 信号并检查 errorString()
尝试使用QString program = QString("cmd /C %1%2").arg(QDir::currentPath()).arg("/PARROT/Console1.exe")
为什么标记为fortran?对于这个问题,可执行文件的来源并不重要......
【参考方案1】:
检查此链接 - QProcess Start command syntax
语法 - void QProcess::start(const QString & program, const QStringList & arguments, OpenMode mode = ReadWrite)
您需要将参数列表作为第二个参数传递,同时将进程路径作为第一个参数传递,以启动进程。
【讨论】:
以上是关于QT Creator QProcess的主要内容,如果未能解决你的问题,请参考以下文章