在Qt中,可以使用QProcess
類啟動(dòng)外部程序并嵌入窗口。下面是一個(gè)簡(jiǎn)單的示例代碼:
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 創(chuàng)建主窗口
QWidget mainWindow;
// 創(chuàng)建一個(gè)嵌入外部程序的窗口
QProcess process;
QWidget *externalWindow = QWindow::fromWinId(process.pid());
// 設(shè)置窗口屬性
externalWindow->setWindowTitle("External Program");
externalWindow->setGeometry(100, 100, 800, 600);
// 使用布局管理器將外部窗口添加到主窗口中
QVBoxLayout layout(&mainWindow);
layout.addWidget(externalWindow);
// 啟動(dòng)外部程序
process.start("path_to_external_program");
mainWindow.show();
return app.exec();
}
在上面的代碼中,通過(guò)QProcess
類啟動(dòng)外部程序,并使用fromWinId()
函數(shù)將其返回的窗口句柄轉(zhuǎn)換為QWidget
對(duì)象,然后將該窗口添加到主窗口中。
在實(shí)際使用時(shí),你需要將path_to_external_program
替換為你要啟動(dòng)的外部程序的路徑。