如何在QT中从主窗口显示另一个窗口

32

平台: QT,Windows XP

我是QT的新手。我想从mainwindow中打开另一个窗口(以对话框的方式打开)。我使用"添加新项目 -> Qt设计师表单类"创建了名为MyWindow的窗体类。但是如何从mainwindow中显示这个MyWindow呢?

1个回答

58
  1. 在你的QMainWindow中实现一个插槽,用来打开新的窗口。
  2. 在你的QMainWindow中放置一个小部件(widget)。
  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();
   // ...
}

这是一个示例,介绍如何显示自定义的新窗口。有很多方法可以实现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接