Как показать другое окно из главного окна в QT - PullRequest
28 голосов
/ 05 октября 2009

Платформа: QT, Windows XP

Я новичок в Qt. Я хочу показать другое окно (что нужно сделать, чтобы открыть его как диалог) из mainwindow. Я сделал "add New Item ->Qt Designer Form Class", назвал его "1005". Но как показать это MyWindow из mainwindow?

1 Ответ

55 голосов
/ 05 октября 2009
  1. Реализация слота в вашем QMainWindow, где вы откроете новое окно,
  2. Поместите виджет в ваше QMainWindow,
  3. Подключите сигнал от этого виджета к слоту из QMainWindow (например: если виджет является QPushButton, подключите сигнал click() к созданному вами пользовательскому слоту QMainWindow).

Пример кода:

mainwindow.h

// ...
include "newwindow.h"
// ...
public slots:
   void openNewWindow();
// ...
private:
   NewWindow *mMyNewWindow;
// ...
}

mainwindow.cpp

// ...
   MainWindow::MainWindow()
   {
      // ...
      connect(mMyButton, SIGNAL(click()), this, SLOT(openNewWindow()));
      // ...
   }
// ...
void MainWindow::openNewWindow()
{
   mMyNewWindow = new NewWindow(); // Be sure to destroy your window somewhere
   mMyNewWindow->show();
   // ...
}

Это пример того, как отобразить новое окно. Есть много способов сделать это.

...