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()第五個參數的作用:
連接方式:默認,隊列,直接
//只有在多線程時,纔有意義
//默認的時候:
//如果是多線程,默認使用隊列
//如果是單線程,默認使用直接方式
//隊列方式:槽函數所在的線程和接收者一樣
//直接方式:槽函數所在線程和發送者一樣
對於控件,可以右擊控件選擇【轉到槽】的方式添加槽函數代碼。