0

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

插件代码:

QWidget* PlPlugin::initPltter() {

    plotter = new QWidget();
    plotter->resize(200,300);
    plotter->setWindowTitle("mypl");
    plotter->show();

    return plotter;
}

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

setCentralWidget(plotter->initPlotter());
4

2 回答 2

0

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

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

于 2012-03-18T18:51:37.037 回答
0

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

QWidget* PlPlugin::initPltter() {

  plotter = new QWidget();
  plotter->resize(200,300);
  plotter->setWindowTitle("mypl");
  plotter->show();

  return plotter;
}

要这样做_

setCentralWidget(plotter->initPlotter());

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

于 2012-05-25T13:20:15.187 回答