qt5视频学习笔记3(带参数的信号、Lamda表达式)
2018-01-26 14:32
344 查看
1.信号可以重载
void(subWidget::*testSignal)(int,QString)=&subWidget::mySignal;
connect(&w,testSignal,this,&MainWidget::dealSlot);
2.类的成员函数有个特殊指针,this
谁(哪个对象)调用这个成员函数,this就指向这个对象
this可以操作类型任意成员
3.函数指针
void fun(int)
{
}
void (*p)(int)=fun;
4.Lambda表达式 匿名函数对象
C++11增加的新特性,项目文件:CONFIG +=C++11;
Qt配合信号一起使用,非常方便
列如:1.QPushButton*b4=newQPushButton(this);
void(subWidget::*testSignal)(int,QString)=&subWidget::mySignal;
connect(&w,testSignal,this,&MainWidget::dealSlot);
2.类的成员函数有个特殊指针,this
谁(哪个对象)调用这个成员函数,this就指向这个对象
this可以操作类型任意成员
3.函数指针
void fun(int)
{
}
void (*p)(int)=fun;
4.Lambda表达式 匿名函数对象
C++11增加的新特性,项目文件:CONFIG +=C++11;
Qt配合信号一起使用,非常方便
列如:1.QPushButton*b4=newQPushButton(this);
b4->setText("Lambda表达式");
b4->move(150,150);
connect(b4,&QPushButton::released,
[]() /*[]表示传进来的参数 [=]把外部所有局部变量、类中所有成员以值传递方式 ():函数参数
{
qDebug()<<"11111";
}
);
2. QPushButton *b4=new QPushButton(this);
b4->setText("Lambda表达式");
b4->move(150,150);
int a=10,b=100;
connect(b4,&QPushButton::released,
[=]() mutable //mutable:变量可修改
//[this]:类中所有成员以值传递方式 不包括类中成员 [&]:把外部所有
//局部变量,引用符号
{
b4->setText("123");
a=11;
qDebug()<<"11111";
}
);
5.信号属于谁,它就谁发出 按钮只是触发软件中断,调函数
相关文章推荐
- JS 正则表达式(学习笔记2)匹配网址url参数
- JS 正则表达式(学习笔记2)匹配网址url参数
- 韩顺平 javascript教学视频_学习笔记34_js正则表达式详解
- PyQt5学习笔记16----PyQt信号和槽传递额外参数
- Kotlin学习笔记--函数、函数表达式、默认参数、具名参数
- qt5视频学习笔记2(自定义槽函数、信号与槽)
- Guava学习笔记:Preconditions优雅的检验参数
- 孙鑫VC++视频学习笔记之5: VC菜单相关编程
- linux下文件的复制、移动、删除命令参数详解(学习笔记)
- python学习笔记12(函数三): 参数类型、递归、lambda函数
- JNI学习笔记:数组作为函数参数
- PyQT信号槽_学习笔记 (Signals/Slots)
- 学习笔记-正则表达式全部符号
- shell脚本学习笔记 (正则表达式)
- 31天重构学习笔记23. 引入参数对象
- Python中函数参数设置及使用的学习笔记
- 正则表达式 学习笔记
- Java Lambda 表达式学习笔记
- 韩顺平_php从入门到精通_视频教程_第3讲_符号实体_url说明_超链接_发送电邮_学习笔记_源代码图解_PPT文档整理
- 正则表达式学习笔记