在Qt中同时显示两个窗口



如何同时显示两个窗口?好吧,我有一个主窗口,然后当我按下按钮时,我加载一个插件,该插件创建并返回一个qwidget,并将其设置为中央widget setCentralWidget(),但我的应用程序崩溃了。如果我没有错,这将同时显示一个窗口。

来自插件的代码:

QWidget* PlPlugin::initPltter() {
    plotter = new QWidget();
    plotter->resize(200,300);
    plotter->setWindowTitle("mypl");
    plotter->show();
    return plotter;
}

在我的应用程序中,我正在做:

setCentralWidget(plotter->initPlotter());

尽量不调整大小或显示它。如果它将成为主窗口的中心小部件,这是不必要的。

此外,从你的例子中,没有任何迹象表明你试图显示两个窗口。您正在做的是创建另一个小部件,并将其设置为主窗口的子窗口。做一个或另一个:创建小部件并直接显示它,或者创建它并在另一个下为其设置父级。

您的MainWindow子窗口显示在main.cpp中,对于第二个小部件,请执行以下操作:

QWidget* PlPlugin::initPltter() {
  plotter = new QWidget();
  plotter->resize(200,300);
  plotter->setWindowTitle("mypl");
  plotter->show();
  return plotter;
}

不要进行

setCentralWidget(plotter->initPlotter());

它允许您在单独的"窗口"中获取MainWindow和小部件

相关内容

  • 没有找到相关文章

最新更新