Показывать 2 окна одновременно в Qt
Как я могу показать два окна одновременно? Ну, у меня есть главное окно, затем, когда я нажимаю кнопку, я загружаю плагин, который создает и возвращает qwidget, и устанавливает его как центральный виджет setCentralWidget()
, но мое приложение вылетает. Если я не ошибаюсь, это все равно покажет только одно окно одновременно.
Код из плагина:
QWidget* PlPlugin::initPltter() {
plotter = new QWidget();
plotter->resize(200,300);
plotter->setWindowTitle("mypl");
plotter->show();
return plotter;
}
В моем приложении я делаю:
setCentralWidget(plotter->initPlotter());
2 ответа
Ваш дочерний элемент MainWindow, показанный в main.cpp, для второго виджета делает это:
QWidget* PlPlugin::initPltter() {
plotter = new QWidget();
plotter->resize(200,300);
plotter->setWindowTitle("mypl");
plotter->show();
return plotter;
}
И не делай этого
setCentralWidget(plotter->initPlotter());
Это позволяет вам получить MainWindow и виджет в отдельном "окне"
Попытайтесь не изменять размеры или показывать это. Его не нужно, если он станет центральным виджетом главного окна.
Кроме того, из вашего примера ничего не говорит о том, что вы пытаетесь показать два окна. Что вы делаете, это создаете другой виджет и устанавливаете его как дочерний элемент главного окна. Выполните одно или другое: создайте виджет и покажите его напрямую или создайте его и поместите в родительский элемент под другим.