【问题标题】:How to launch a windows application in Qt如何在 Qt 中启动 Windows 应用程序
【发布时间】:2014-11-17 21:43:03
【问题描述】:

我正在尝试弄清楚如何在 Qt 中启动 Windows 应用程序。我想要完成的是让用户单击一个按钮并打开记事本窗口应用程序。我知道它们是 Qt 中的记事本功能,但我正在寻找一种不同的方法来做到这一点。我希望能够使用任何 Windows 应用程序来做到这一点。有人对我如何做到这一点有任何提示吗?

【问题讨论】:

    标签: c++ qt qt4 qt5 qtwidgets


    【解决方案1】:

    Qt 有一个特殊的类QProcess 允许你这样做。

    例如:

    void MainWindow::on_pushButton_clicked()
    {
        QProcess *proc = new QProcess(this);
        proc->start("notepad.exe");
    }
    

    这个类中有很多有用的方法。在文档中查看:

    http://qt-project.org/doc/qt-5/QProcess.html

    您还可以在此应用中打开文件。只需使用:

    proc->start("notepad.exe path"); 
    

    path 是这样的:G:/test.txt

    要使用这个类,你应该#include <QProcess>

    【讨论】:

    • Qprocess 是否需要某种包含?我收到错误。感谢您的意见
    • @user3878223 哦,对不起,是的,你需要包含,我已经更新了我的答案,请看。
    • 没关系,我在查看您发布的链接后找到了包含。它给了我一个错误。这对你来说是不是很熟悉? :-1: 错误: LNK1123: 转换为 COFF 失败: 文件无效或损坏
    • 没关系,我在查看您发布的链接后找到了包含。它给了我一个错误。这对你来说是不是很熟悉? :-1: 错误: LNK1123: 转换为 COFF 失败: 文件无效或损坏
    • @user3878223 不,我不熟悉这个,因为我使用的是 Qt Creator IDE,你的错误看起来只是 Visual Studio 错误,所以我建议你谷歌这个问题。有有用的链接:有 428 个赞的著名答案:stackoverflow.com/questions/10888391/… 和一些网站:howtofix.pro/…
    【解决方案2】:

    可以使用QProcess类,看start或者startDetached,例子:

    QProcess::startDetached("notepad.exe");
    

    【讨论】:

    • 我在尝试上述答案时遇到了同样的错误:-1:错误:LNK1123:转换为 COFF 期间失败:文件无效或损坏
    • 您使用什么 Visual Studio 版本?安装 .Net framework 4.5 后,这似乎是 VS2010 的问题,解决方案是更新到 VS2010 SP1:support.microsoft.com/kb/2757355
    • 我实际上在使用 QT Creator
    • 我不够清楚,所以问题是您使用什么 C++ 编译器? QtCreator 是 IDE,它必须使用编译器来构建代码。该错误提示您使用 Visual C++ 编译器版本。
    • 我刚下载了QT的软件。我在大学里用过视觉工作室,目前这台电脑上没有安装。也许QT使用的编译器是visual studios,老实说我不确定。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-23
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    • 1970-01-01
    • 2013-02-05
    • 1970-01-01
    相关资源
    最近更新 更多