在 Linux 环境下,可以使用 Qt 的 QProcess 类来实现将一个可执行程序的界面嵌入到另一个 Qt 开发的可执行程序界面中。\n\n以下是一个示例代码,演示了如何将一个名为 "external_program" 的可执行程序的界面嵌入到另一个 Qt 程序的界面中:\n\ncpp\n#include <QApplication>\n#include <QWidget>\n#include <QVBoxLayout>\n#include <QProcess>\n\nint main(int argc, char *argv[]) {\n QApplication a(argc, argv);\n\n // 创建主窗口\n QWidget mainWindow;\n QVBoxLayout layout(&mainWindow);\n \n // 创建一个 QProcess 实例\n QProcess process;\n \n // 设置要执行的可执行程序的名称和参数\n process.start("external_program");\n \n // 将 QProcess 的输出重定向到 QWidget\n process.setProcessChannelMode(QProcess::MergedChannels);\n QObject::connect(&process, &QProcess::readyRead, [&]() {\n QByteArray data = process.readAll();\n // 在 QWidget 上显示可执行程序的输出\n // ...\n });\n \n // 将 QWidget 添加到主窗口的布局中\n layout.addWidget(&widget);\n \n // 显示主窗口\n mainWindow.show();\n\n return a.exec();\n}\n\n\n在上述示例中,我们创建了一个主窗口,并在其中创建了一个 QVBoxLayout 布局。然后,我们创建了一个 QProcess 实例,并设置要执行的可执行程序的名称和参数。接下来,我们将 QProcess 的输出重定向到 QWidget,并使用 readyRead 信号来获取并显示可执行程序的输出。最后,我们将 QWidget 添加到主窗口的布局中,并显示主窗口。\n\n请注意,上述示例中的代码仅为演示目的,并未完整实现将可执行程序的界面嵌入到 Qt 程序界面中的所有功能。具体实现还需要根据可执行程序的界面和功能进行相应的调整和扩展。

Linux Qt 嵌入可执行程序界面 | 代码示例

原文地址: https://www.cveoy.top/t/topic/p2Xy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录