【问题标题】:QT Creator QProcessQT 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?对于这个问题,可执行文件的来源并不重要......

标签: c++ qt qprocess


【解决方案1】:

检查此链接 - QProcess Start command syntax

语法 - void QProcess::start(const QString & program, const QStringList & arguments, OpenMode mode = ReadWrite)

您需要将参数列表作为第二个参数传递,同时将进程路径作为第一个参数传递,以启动进程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多