MaC QT 槽函数和Lambda表达式
在C++ Qt框架中,槽函数(Slot)是一种特殊的成员函数,用于响应信号(Signal)的触发,从而实现对象间的通信和事件处理。
#include<QMessageBox>//包含槽函数的头文件
//定义槽函数 响应特定的信号事件
void onButtonclicked(){QMessageBox::information(nullptr,"提示","你点击了按钮");//nullptr表示没有父窗口,第二个参数表示了提示框的标题是提示,第三个参数表示正文内容}
在mainwindow类的构造函数用connect()函数把槽函数加入
connect(button,&QPushButton::clicked,onButtonclicked);
1 button代表了要点击的那个按钮
2 &QPushButton::clicked代表了要响应的哪一个事件
3 onButtonclicked就是槽函数
第二种Lambda表达式
注意就不用在另外写一个槽函数啦
connect(button,&QPushButton::clicked,[]{QMessageBox::information(nullptr,"提示","你点击了按钮(2)");});需要注意的地方是在&QPushButton::clicked后面参数是[]{} 然后{}里面加了QMessageBox::information(nullptr,"提示","你点击了按钮(2)");