Qt信号槽连接函数connect()的简单使用方法

来源:互联网 发布:linux mrtg定制 编辑:程序博客网 时间:2024/05/12 00:49

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()第五个参数的作用:

    连接方式:默认,队列,直接
    //只有在多线程时,才有意义
    //默认的时候:
    //如果是多线程,默认使用队列
    //如果是单线程,默认使用直接方式
    //队列方式:槽函数所在的线程和接收者一样
    //直接方式:槽函数所在线程和发送者一样


对于控件,可以右击控件选择【转到槽】的方式添加槽函数代码。


原创粉丝点击