Qt sender()函數(shù)的具體使用
sender函數(shù)原型:
QObject *sender() const;
如果在由信號(hào)激活的插槽中調(diào)用該函數(shù),返回指向發(fā)送信號(hào)的對(duì)象的指針,否則返回0,該指針僅在從該對(duì)象的線程上下文調(diào)用此函數(shù)的槽執(zhí)行期間有效。
主要代碼如下:
其中運(yùn)用了QList類直接foreach循環(huán)連接槽函數(shù)或者每個(gè)按鈕都連接
QList<QPushButton *> btnColor; //此代碼寫入MainWindow.h文件中 btnColor << ui->btn_1 << ui->btn_2 << ui->btn_3 ; foreach (QPushButton *btn, btnColor) { connect(btn, SIGNAL(clicked(bool)), this, SLOT(changeColor())); } //connect(ui->btn_1, &QPushButton::clicked, this, &changeColor); //connect(ui->btn_2, &QPushButton::clicked, this, &changeColor); //connect(ui->btn_3, &QPushButton::clicked, this, &changeColor); //槽函數(shù) void MainWindow::changeColor() { QPushButton *pBtn = (QPushButton*)sender(); QMessageBox::about(this, "tips", pBtn->text()); int index = btnColor.indexOf(pBtn); qDebug() << "index == " << index ; }
mainWindow.ui
結(jié)果:每個(gè)按鍵對(duì)應(yīng)著每個(gè)按鍵的截圖;index就是按照上面的btnColor依次排序,btn_1的序號(hào)為0,btn_2的序號(hào)為1,btn_3的序號(hào)為2.
到此這篇關(guān)于Qt sender()函數(shù)的具體使用的文章就介紹到這了,更多相關(guān)Qt sender()內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Linux系統(tǒng)下如何使用C++解析json文件詳解
JSON(JavaScript Object Notation, JS 對(duì)象簡譜) 是一種輕量級(jí)的數(shù)據(jù)交換格式。下面這篇文章主要給大家介紹了關(guān)于Linux系統(tǒng)下如何使用C++解析json文件的相關(guān)資料,需要的朋友可以參考下2021-06-06c++ map索引不存在的key可能導(dǎo)致的后果分析
這篇文章主要介紹了c++ map索引不存在的key可能導(dǎo)致的后果分析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12