Qt 界面跳转实现(信号与槽机制)

本文详细介绍了如何在Qt应用中利用信号与槽机制实现场景间的界面跳转,通过.pro工程配置,header和source文件的编写,以及main.cpp中的入口设置,实现界面之间的交互操作。
摘要由CSDN通过智能技术生成

.pro 工程管理文件

#引入QT 所需的类库,核心库,图形化界面库
QT       += core gui

#如果QT超过4.0版本以上,那么会引入widget类
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

#该版本支持c++11以后的语法
CONFIG += c++11

#使用已经弃用的QT特性时会发出确切的警告
# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

#禁用在QT6.0之前弃用的API
# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

#管理源文件
SOURCES += \
    main.cpp \
    second.cpp \
    widget.cpp

#管理头文件
HEADERS += \
    second.h \
    widget.h

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

#管理UI文件
FORMS += \
    second.ui
widget.h
#ifndef
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt 中,可以使用信号机制实现界面跳转。 首先需要定义两个界面类,比如说 A 界面和 B 界面。然后在 A 界面中添加一个按钮,当用户点击按钮时,可以通过信号机制实现跳转到 B 界面。 在 A 界面的头文件中添加以下代码: ```cpp #include "B.h" // 包含 B 界面的头文件 class A : public QWidget { Q_OBJECT // 必须添加 Q_OBJECT 宏定义 public: A(QWidget *parent = nullptr); ~A(); private slots: void on_pushButton_clicked(); // 按钮的函数 private: Ui::A *ui; B *b; // 创建 B 界面的对象 }; ``` 在 A 界面的源文件中,实现按钮的函数: ```cpp void A::on_pushButton_clicked() { b = new B(this); // 创建 B 界面的对象 b->show(); // 显示 B 界面 this->hide(); // 隐藏 A 界面 } ``` 这样,当用户点击 A 界面上的按钮时,就会跳转到 B 界面,同时隐藏 A 界面。 在 B 界面中同样可以添加一个按钮,实现从 B 界面跳转回 A 界面的功能。方法类似,只需要在 B 界面函数中添加以下代码: ```cpp void B::on_pushButton_clicked() { emit showA(); // 发送信号 showA this->close(); // 关闭 B 界面 } ``` 然后在 A 界面中添加一个函数,用于接收 B 界面发送的信号 showA: ```cpp connect(b, SIGNAL(showA()), this, SLOT(show())); // 接收信号 showA ``` 这样,当用户在 B 界面点击按钮时,就会发送信号 showA,A 界面接收到信号后就会显示出来,实现了从 B 界面跳转回 A 界面的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值