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