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

时间:2009-10-05 04:53:34

标签: windows qt showdialog

平台:QT,Windows XP

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

1 个答案:

答案 0 :(得分:55)

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

    <强> 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();
       // ...
    }
    

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