Показывать 2 окна одновременно в Qt - PullRequest
0 голосов
/ 18 марта 2012

Как я могу показать два окна одновременно?Ну, у меня есть главное окно, затем, когда я нажимаю кнопку, я загружаю плагин, который создает и возвращает qwidget, и устанавливает его как центральный виджет setCentralWidget(), но мое приложение вылетает. Если я не ошибаюсь, это все равно покажет только одинокно в то же время.

Код от плагина:

QWidget* PlPlugin::initPltter() {

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

    return plotter;
}

В моем приложении я делаю:

setCentralWidget(plotter->initPlotter());

Ответы [ 2 ]

0 голосов
/ 25 мая 2012

Ваш дочерний элемент MainWindow, показанный в main.cpp, для второго виджета сделайте это:

QWidget* PlPlugin::initPltter() {

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

  return plotter;
}

И не сделать это

setCentralWidget(plotter->initPlotter());

Это позволяет вам получить MainWindow и виджет в отдельном «окне»

0 голосов
/ 18 марта 2012

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

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

...