qt实在不知道怎么在里面调用其他外部的exe,比如点个按钮就运行其他exe的界面

qt实在不知道怎么在里面调用其他外部的exe,比如点个按钮就运行其他exe的界面,有点子界面

直接用qprocess类

QProcess process(this);
QString str ="../a.exe";//加可执行文件路径
process.start(str);//启动可执行文件 方法1
process.startDetached(str);//启动可执行文件 方法2


可以用python作为入口,先引入qt,用python写一个ui代码,然后通过点击界面上的按钮,调用qt来执行exe文件。当然也可以直接用python来执行。

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7484894
  • 这篇博客你也可以参考下:【QT 打包生成exe无法定位程序输入点】QT release 程序异常结束 和 奔溃
  • 除此之外, 这篇博客: Qt开发记录13——打包成exe可执行程序——打包成可输出调试信息的exe可执行程序中的 2、打包成可输出调试信息的exe可执行程序 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 在这里插入图片描述
    在这里插入图片描述

  • 以下回答由chatgpt基于相关博客总结生成:

    在Qt中实现通过按钮点击来启动其他外部程序并显示其界面,可以按照以下步骤进行操作:

    1. 首先,在Qt中创建一个按钮并连接到对应的槽函数。可以使用Qt的信号和槽机制来实现按钮点击事件的响应。

    示例代码如下:

    // 在头文件中定义槽函数
    private slots:
        void onButtonClicked();
    
    // 在源文件中实现槽函数
    void MainWindow::onButtonClicked() {
        // 在此处编写打开外部程序的代码
    }
    
    1. 使用Qt的QProcess类来启动外部程序。QProcess类是一个进程控制类,可以用于执行外部应用程序。

    示例代码如下:

    void MainWindow::onButtonClicked() {
        QProcess::startDetached("path/to/external/program.exe");
    }
    

    在上述代码中,"path/to/external/program.exe"需要替换为你要启动的外部程序的路径。

    1. 在Qt中显示外部程序的界面可以使用QProcess启动外部程序,并将其窗口嵌入到Qt的窗口中。为此,我们可以使用QWidget类的方法来创建一个子窗口,并将外部程序的窗口作为子窗口的依附。

    示例代码如下:

    void MainWindow::onButtonClicked() {
        QProcess process;
        process.start("path/to/external/program.exe");
        process.waitForStarted();
    
        QWidget* container = new QWidget(this);
        container->setAttribute(Qt::WA_NativeWindow, true);
        process.setNativeParent(container->winId());
        container->show();
    }
    

    在上述代码中,"path/to/external/program.exe"需要替换为你要启动的外部程序的路径。

    需要注意的是,外部程序必须支持窗口的嵌入,否则无法将其界面显示在Qt的窗口中。

    以上就是在Qt中通过按钮点击来启动其他外部程序并显示其界面的解决方案。希望对你有帮助!如果你有任何问题,请随时向我提问。