如何在qt中的另一个窗口中显示一个窗口

How to show a window within another window in qt?

本文关键字:窗口 一个 显示 另一个 qt      更新时间:2023-10-16

我的窗口中有一个MDIarea,我键入的代码在这里向我显示MDIarea中的一个新窗口(我有两个Qwidget窗口,我想在主窗口中显示):

 InnerCompanySignupWindow A(sys);
InnerPersonSignUpWindow B(sys);
if(arg1 == "Company"){
  // ui->InTheWindow->hide();
    ui->mdiArea->addSubWindow(&A);
    ui->mdiArea->activateNextSubWindow();
   // ui->mdiArea->removeSubWindow(&B);
//        hide();
}
if(arg1 == "Person"){
   // ui->InTheWindow->hide();
    ui->mdiArea->addSubWindow(&B);
    ui->mdiArea->activateNextSubWindow();
    //ui->mdiArea->removeSubWindow(&A);
    //        hide();
}

我该怎么办?使用MDIarea是正确的吗?

您必须为特定参数找到mdi子窗口小部件,并将该小部件设置为活动子窗口。

QMdiSubWindow *existing = findMdiChild(arg); // your custom function to find subwindow
if (existing) {
    mdiArea->setActiveSubWindow(existing);
    return;
}

有关详细信息,您可以按照此示例操作。