8.lamda表达式在qt中的使用

lamda表达式

  • 声明lamda表达式
    1.{};总而言之,三种括号,很简洁
    2.[]里写访问范围和访问方式,()里写参数,{}里写函数体的实现
  • 各种访问范围和访问方式
    1.=:类中所有对象均以值传递形式被访问
    2.&:类中所有对象均以地址传递形式被访问
    3.待补充,以上都是很基本的
  • mutable关键字
    访问的对象都是拷贝的,而且不可写,加上mutable关键字后就可读可写了,但仍然是
    拷贝值,不会影响原来的对象。
  • 返回值
    1.在()写->类型
    2.举例:->int{};
  • 函数的调用
    {}();加上()即可

lamda表达式在qt中的使用,作为槽函数

好处:话说lamda表达式的出现,本身就是为了简化那些仅仅只调用一次的函数的写法。
案例:点击按钮,关闭窗口,利用lamda表达式实现

#include "widget.h"
#include<QPushButton>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    resize(600,400);
    QPushButton*btn= new QPushButton("close",this);
    btn->move(200,300);
    //使用lamda表达式书写槽函数,实在是太方便啦
    connect(btn,&QPushButton::clicked,this,
            [=](){
        this->close();//注意,不需要调用,只写实现即可

    });
    //有了lamda表达式,就可以玩出很多花样出来了!!!!!!


}

Widget::~Widget() {}
posted @ 2025-04-19 19:17  噫~该死的碳酸饮料  阅读(28)  评论(0)    收藏  举报