Показывать 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 и виджет в отдельном "окне"

Попытайтесь не изменять размеры или показывать это. Его не нужно, если он станет центральным виджетом главного окна.

Кроме того, из вашего примера ничего не говорит о том, что вы пытаетесь показать два окна. Что вы делаете, это создаете другой виджет и устанавливаете его как дочерний элемент главного окна. Выполните одно или другое: создайте виджет и покажите его напрямую или создайте его и поместите в родительский элемент под другим.

Другие вопросы по тегам