QT通过点击按钮弹出新的窗口(新建弹出式窗口)

本文详细介绍了如何在QT环境中通过QT Designer创建新的窗口类,并将其与主窗口关联,以及设置按钮点击事件触发新窗口显示。步骤包括新建窗口类、包含新窗口头文件和设置信号与槽函数,最终实现主窗口按钮点击后弹出新窗口的功能。
摘要由CSDN通过智能技术生成


需求说明:主窗口为mainWindow,主窗口上有一个按钮,通过点击按钮能弹出一个新的窗口。

第一步:新建QT设计师界面类

  1. 右击最顶层的工程文件夹,在弹出的选项里选择Add New(有的版本为添加新文件)。
    右击工程文件夹
  2. 选择Qt–>Qt设计师界面类,点击Choose。
    选择QT设计师界面类
  3. 默认选择Widget,点击下一步。
    点击下一步
  4. 在这里设置类名,我设置为newWindow,路径默认即可,点击下一步。
    设置类名
  5. 这里是汇总信息,默认添加到当前项目,点击完成按钮即可。
    汇总
  6. 完成后QT自动生成newWindow所需的cpp文件和h文件。
    目录

第二步:将新窗口的头文件加入到主窗口头文件中

在主窗口mainWindow的头文件中添加以下代码:

#include "你设置的类名.h"
//例如:
#include "newWindow.h"

第三步:为按钮事件设置信号与槽

  1. 打开主窗口mainWindow的ui文件,选中想要设置的按钮,点击鼠标右键,在弹出的栏目中选中“转到槽…”。
    在这里插入图片描述
  2. 在弹出的窗口中选择clicked(),再点击ok。
    选择clicked()
  3. 此时QT会自动为工程添加槽函数的声明以及一个空白的槽函数,如下图:
    在这里插入图片描述
  4. 在生成的槽函数中添加newWindow启动代码,如下所示:
    void MainWindow::on_BtnSerialPortConfig_clicked()
    {
        newWindow *configWindow = new newWindow;
        configWindow->show();
    }
    
  5. 完成(此截图为我为newWindow添加了控件以后的弹窗截图)
    在这里插入图片描述
  • 86
    点赞
  • 469
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
要实现在Qt Designer中点击按钮出一个新窗口,您需要完成以下步骤: 1. 在Qt Designer中添加一个按钮控件,并设置其属性和信号槽函数。例如,将按钮命名为"showNewWindowBtn",并将其clicked信号连接到一个名为"showNewWindow"的槽函数。 2. 创建一个新的窗口类,例如"NewWindow",并在其中添加所需的控件。 3. 在主窗口类的构造函数中,创建一个新的"NewWindow"对象,并将其设置为类的成员变量。 4. 实现名为"showNewWindow"的槽函数,并在其中显示新窗口。例如,您可以使用"newWindow->show()"来显示新窗口。 下面是示例代码: MainWindow.h: ```cpp #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include "newwindow.h" namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private slots: void showNewWindow(); private: Ui::MainWindow *ui; NewWindow *newWindow; }; #endif // MAINWINDOW_H ``` MainWindow.cpp: ```cpp #include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); // 创建新窗口对象 newWindow = new NewWindow(this); } MainWindow::~MainWindow() { delete ui; } void MainWindow::showNewWindow() { // 显示新窗口 newWindow->show(); } ``` NewWindow.h: ```cpp #ifndef NEWWINDOW_H #define NEWWINDOW_H #include <QDialog> namespace Ui { class NewWindow; } class NewWindow : public QDialog { Q_OBJECT public: explicit NewWindow(QWidget *parent = 0); ~NewWindow(); private: Ui::NewWindow *ui; }; #endif // NEWWINDOW_H ``` NewWindow.cpp: ```cpp #include "newwindow.h" #include "ui_newwindow.h" NewWindow::NewWindow(QWidget *parent) : QDialog(parent), ui(new Ui::NewWindow) { ui->setupUi(this); } NewWindow::~NewWindow() { delete ui; } ``` 在Qt Designer中,将一个PushButton控件拖放到主窗口中,并将其命名为"showNewWindowBtn"。然后,将其clicked信号连接到MainWindow类的showNewWindow槽函数。最后,保存并运行应用程序,单击按钮以显示新窗口
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值