概述
若想在QT中使用lambda表达式需要在项目文件中的 .pro 中加入 CONFIG += c++11
例子:当点击按钮时,打印一个“输出”.
需要包含按钮类和打印调试类。
#include <QPushButton>
#include <QDebug>
QPushButton *but1 = new QPushButton(this);
but1->setText("lamda表达式");
// 将but1直接写在括号中时,为以值传递的方式将but1这个指针传递进匿名函数里
// = ,表示将表达式外所有变量以值传递的方式传进匿名函数里,传进来为常量
// & ,表示将表达式外所有变量以引用传递的方式进入匿名函数里,传进动态指针会引发出错,内存释放的问题。
//mutable关键字,将传进去的值,改为普通变量,不再是常量了
connect(but1,&QPushButton::clicked,[=]()mutable{
qDebug() << "输出";
});
最后
以上就是清爽溪流为你收集整理的Qt在connect中使用lambda表达式(最简单)的全部内容,希望文章能够帮你解决Qt在connect中使用lambda表达式(最简单)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复