Qt学习记录---(2)信号与槽、重载函数

信号和槽我感觉属于Qt的核心。

1.connect函数

connect函数连接信号与槽。
比如:
connect(Mytimer,&QTimer::timeout,thread1_task1,&Mythread1::slot_drawimage);

(1)第一个参数:发送对象
(2)第二个参数:发送对象的信号,需要取地址
(3)第三个参数:接受对象
(4)第四个参数:接受对象的槽函数(其实就是一个函数),需要取地址
(如果有参数,connect 中信号和槽函数其实可以不用带参数)

2.信号

主要分为了标准信号、自定义信号
(1)标准信号:
就是官方提供的标准信号,直接F1查看用法就可以了。
(2)自定义信号:
先在h文件中“signal”中声明信号,然后只需要在cpp中emit发送就可以了。

3.槽函数

主要分为了标准槽、自定义槽和Lambda
(1)标准槽:
就是官方提供的槽函数,直接F1查看用法就可以了。
(2)自定义槽:
先在h文件中“private slots”中声明槽函数,然后在cpp文件中定义函数就可以。
(3)Lambda表达式(c++11):
是一个匿名函数。
需要在pro文件中加上
在这里插入图片描述
在connect中格式为这样:
在这里插入图片描述
“[]”中"="为把外部所有局部变量以值传递进来(只读)加上“加mutable” 就变成可读可写了。
改为“&”把外部所有局部变量传递进来(可读可写,但可能会导致内存问题)

4.重载函数

当需要重载函数的时候,就需要用到函数指针。
在这里插入图片描述
(1)第一个int 为返回值的类型。
(2)*p为函数的指针。
(3)(int,int)表示参数。
例子:
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值