Qt中的信号与槽机制的使用方法

在Qt5中,可以使用如下三种方式完成信号与槽的连接

使用lambda表达式的方式,需要在.pro中加入如下配置信息
CONFIG += C++11
使用Qt4的信号与槽的方式
使用Qt5的信号与槽的方式

关键测试代码

#include "widget.h"
#include <QPushButton>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    this->setGeometry(500,500,500,500);
    //method1:Lambda表达式
    QPushButton *buttonChangeText = new QPushButton("original", this);
    buttonChangeText->setGeometry(100, 100, 200, 20);
    connect(buttonChangeText, &QPushButton::clicked,
            [=]()
            {
                 buttonChangeText->setText("changed");
            }

            );

    //method2: 使用Qt4的宏函数的方式
    QPushButton * buttonHide = new QPushButton("hide me",this);
    buttonHide->setGeometry(100,150,200,20);

    connect(buttonHide, SIGNAL(clicked()),buttonHide,SLOT(hide()));

    //method2: 使用Qt5的方式,可以进行语法检查
    QPushButton * buttonShow = new QPushButton("show button",this);
    buttonShow->setGeometry(100,200,200,20);
    connect(buttonShow, &QPushButton::clicked, buttonHide, &QPushButton::show);





}

Widget::~Widget()
{

}

实现功能

  • 有三个按键,一个按键使用lambda表达式的方式,按下该按钮,该按钮的信息被改变。
  • 按下第二个按键,该按键被隐藏起来。
  • 按下第三个按键,被隐藏的按键显示出来。

测试效果

  • 按下前
    在这里插入图片描述

  • 按下后

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值