【发布时间】:2018-10-02 12:34:35
【问题描述】:
我正在尝试制作一个在 QWidget ( ui->appWidget ) 中显示的 qt MainWindow 应用程序作为外部窗口(我从 QProcess 运行的其他应用程序)。
现在,当我这样做时,新小部件会获得 ui->appWidget 大小, 但它没有进入它,它仍然将外部应用程序显示为外部窗口。
我需要做什么才能将其嵌入到 ui->appWidget 中?
这是我的代码:
void MainWindow::runScript(QString command){
//Set Procees to Scripts directory
process.setWorkingDirectory(directory.currentPath() + "/Scripts");
//Open command process
process.start("./" + command + ".sh" );
//Check if Script succeed to open
if(process.waitForStarted() == false){
qDebug() << "Error starting " << command << " Script";
qDebug() << "ERROR: " << process.errorString();
}else{
qDebug() << "Script succeed to open";
}
QThread::msleep(5000); // make sure process is up.
QWindow * window = QWindow::fromWinId(0x3200005); // 0x3200005 - Hardcoded window id .
QWidget * widget = createWindowContainer(window);
QVBoxLayout * vl = new QVBoxLayout(ui->appWidget);
vl->addWidget(widget);
ui->appWidget->setLayout(vl);
widget->show();
}
如果需要更多详细信息,请告诉我。
感谢您的帮助!
【问题讨论】: