国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

槽函數獲取發出信號的對象

2019-11-11 04:38:42
字體:
來源:轉載
供稿:網友

QT中通過函數 connect(objs, SIGNAL(sigFun()), objr, SLOT(slotFun())); 或者 connect( obj1 , &Object1::sigFun , obj2 , &Object2::slotFun ) 來連接信號與槽,傳遞數據

有時我們希望在槽函數中獲取發送信號的對象??梢酝ㄟ^函數“QObject::sender()”獲取發出信號的對象。

例如: 在菜單欄中動態創建一系列的QAction,對應最近打開文件 創建對應的QAction

QList<QString> fileList;for (int i=0; i<fileList.size(); i++) { QAction *act = new QAction(fileList[i]); act->setData(fileList[i]); connect(act, SIGNAL(triggled()), this, SLOT(slotFun()));}

這種情況,我們只知道出發了槽函數,但是不知道具體是哪一個QAction發出的信號,此時可以通過上面所提到的函數來獲取發送對象

void slotFun(){ QAction act = qobject_cast<QAction*>(sender()); qDebug() << act->Data();}

函數sender()的返回對象為QObject*,通過qobject_cast將其轉換為所需的對象。


上一篇:HDU 1969 高精度

下一篇:LeetCode 18. 4Sum

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金乡县| 陆丰市| 马尔康县| 壶关县| 平凉市| 衡东县| 云霄县| 金塔县| 赤城县| 谷城县| 蓬溪县| 三原县| 博乐市| 潞城市| 定兴县| 岐山县| 仪陇县| 巩义市| 翼城县| 鄂托克前旗| 建水县| 修武县| 鲜城| 自贡市| 鹤庆县| 桓仁| 长葛市| 钟祥市| 永新县| 胶州市| 洪江市| 随州市| 保德县| 托克逊县| 嵊泗县| 云和县| 监利县| 青神县| 民勤县| 浑源县| 安平县|