信号和槽
连接函数:connect(信号发送者,发送的信号(函数地址),信号接收者,处理的槽函数(函数的地址))。
自定义信号和槽:
自定义信号:写到signals下,返回void,需要声明,不需要实现,可以有参数,也可以重载。
自定义槽函数:返回void,需要声明,也需要实现,可以有参数,可以重载,写到public slot下,或者public或者全局函数
触发自定义的信号使用:emit
当自定义信号和槽出现重载时,需要利用函数指针,明确指向函数的地址,如:void (Teacher::*Signal)(QString)=&Teacher::hungry;
QString 转成 char *:利用toUtf8()转为 QByteArray,然后利用.data()转为char *
信号可以连接信号,断开信号用disconnect
一个信号可以连接多个槽函数,多个信号可以连接同一个槽函数,信号和槽函数的参数必须类型一致,信号的参数个数可以多于槽函数的参数个数。
Qt4版本写法:
connect(信号的发送者,发送的信号SIGNAL(),信号接收者,槽函数SLOT()),优点:参数直观,缺点:编译器不会检测参数类型。
Lambda表达式:
[]标志符,匿名函数,可值传递(=),引用传递(&)
()参数,{}实现体,mutable修饰值传递变量,可以修改拷贝出的数据,改变不了本体。返回值 ->int{}
最常用:={}
QT基础学习笔记2
最新推荐文章于 2024-05-07 22:08:25 发布