【问题标题】:How to show another window from mainwindow in QT如何在 QT 的主窗口中显示另一个窗口
【发布时间】:2010-12-03 20:23:45
【问题描述】:

平台:QT、Windows XP

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

【问题讨论】:

    标签: windows qt showdialog


    【解决方案1】:
    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();
       // ...
    }
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-02
      • 2016-09-03
      相关资源
      最近更新 更多