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

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

槽函數(shù)獲取發(fā)出信號的對象

2019-11-11 04:09:28
字體:
供稿:網(wǎng)友

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

有時我們希望在槽函數(shù)中獲取發(fā)送信號的對象。可以通過函數(shù)“QObject::sender()”獲取發(fā)出信號的對象。

例如: 在菜單欄中動態(tài)創(chuàng)建一系列的QAction,對應(yīng)最近打開文件 創(chuàng)建對應(yīng)的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()));}

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

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

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


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 和田县| 通化县| 个旧市| 宿迁市| 威信县| 聂拉木县| 博爱县| 永康市| 文昌市| 新乐市| 关岭| 通城县| 海安县| 晴隆县| 迁安市| 邮箱| 清河县| 梁河县| 青铜峡市| 原平市| 容城县| 惠州市| 九江市| 廊坊市| 佛山市| 中卫市| 临城县| 新安县| 苏尼特左旗| 通辽市| 夏津县| 金阳县| 延安市| 平塘县| 昌宁县| 独山县| 宣武区| 浦江县| 樟树市| 于都县| 平邑县|