如何同时显示两个窗口?好吧,我有一个主窗口,然后当我按下一个按钮我加载一个插件,创建并返回一个qwidget,并将其设置为中央窗口小部件setCentralWidget()
,但我的应用程序崩溃。如果我没有错,这无论如何将显示只有一个窗口同时。
插件代码:
QWidget* PlPlugin::initPltter() {
plotter = new QWidget();
plotter->resize(200,300);
plotter->setWindowTitle("mypl");
plotter->show();
return plotter;
}
在我的应用程序中我正在做:
setCentralWidget(plotter->initPlotter());
答案 0 :(得分:0)
尽量不要调整大小或显示它。如果它将成为主窗口的中心小部件,那就没有必要了。
此外,从您的示例中,没有任何迹象表明您正在尝试显示两个窗口。你正在做的是创建另一个小部件并将其设置为主窗口的子级。做其中一个:创建窗口小部件并直接显示它,或创建窗口小部件并将其置于另一个窗口下。
答案 1 :(得分:0)
您的MainWindow子项显示在main.cpp中,第二个小部件执行此操作:
QWidget* PlPlugin::initPltter() {
plotter = new QWidget();
plotter->resize(200,300);
plotter->setWindowTitle("mypl");
plotter->show();
return plotter;
}
并且不执行此操作
setCentralWidget(plotter->initPlotter());
它允许您将MainWindow和小部件放在单独的“窗口”
中