31

平台:QT、Windows XP

我是 Qt 的新手。我想显示另一个窗口(如何将其作为对话框打开)mainwindow。我做了“ add New Item ->Qt Designer Form Class”,命名它说MyWindow。但是如何MyWindowmainwindow?

4

1 回答 1

56
  1. 在 QMainWindow 中实现一个插槽,您将在其中打开新窗口,
  2. 在您的 QMainWindow 上放置一个小部件,
  3. 将此小部件的信号连接到 QMainWindow 的插槽(例如:如果小部件是 QPushButton,则将信号连接click()到您创建的 QMainWindow 自定义插槽)。

代码示例:

主窗口.h

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

主窗口.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();
   // ...
}

这是一个关于如何显示自定义新窗口的示例。有很多方法可以做到这一点。

于 2009-10-05T08:51:54.537 回答