1、connect使用指针
- connect(b2,&QPushButton::released,this,&MainWidget::mySlot); //【抬起】按钮b2时,修改按钮b2的标题
2、使用lambda表达式
- connect(b4,&QPushButton::released,
- [b4]() // mutable // 在此处添加mutable关键字,代表传进来的变量可以被修改,不写该关键字则不能被修改
- {
- if(b4->text()=="Lambda表达式") b4->setText("表达式Lambda"); //修改按钮标题
- else b4->setText("Lambda表达式"); //修改按钮标题
- qDebug()<<"111111111"; //输出"111111111"
- // qDebug()<<a<<b; //当方括号内包含变量a、b或为等号时,此处可以输出变量a、b的值
- }
- );
- // []代表把外部变量传进来,如果不传是不能被使用的
- // [b4]代表把变量b4传进来
- // [=]代表把外部所有局部变量、类中所有成员以值的传递方式
- // [this]代表把类中所有成员以值的传递方式
- // [&]代表把外部所有局部变量引用尽量, 引用符号
- // int a=10,b=100;
- // ()第二个参数 函数的参数列表
3、使用宏
- connect(sender,SIGNAL(signal()),receiver,SLOT(slot()));
connect()第五个参数的作用:
连接方式:默认,队列,直接
//只有在多线程时,才有意义
//默认的时候:
//如果是多线程,默认使用队列
//如果是单线程,默认使用直接方式
//队列方式:槽函数所在的线程和接收者一样
//直接方式:槽函数所在线程和发送者一样
对于控件,可以右击控件选择【转到槽】的方式添加槽函数代码。