Подтвердить что ты не робот

Как показать другое окно из mainwindow в QT

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

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

4b9b3361

Ответ 1

  • Внедрите слот в QMainWindow, где вы откроете новое окно,
  • Поместите виджет на свой QMainWindow,
  • Подключите сигнал от этого виджета к слоту из 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();
   // ...
}

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