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

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

Qt連接信號到子類槽函數提示父類無相應槽函數

2019-11-08 03:05:29
字體:
來源:轉載
供稿:網友

Qt連接信號到子類槽函數提示父類無相應槽函數

通過connect連接一個信號到子類的一個槽函數卻提示父類沒有對應的槽函數。

代碼

class Parent : public QObject{ Q_OBJECTpublic: Parent(){}; virtual ~Parent(){}; virtual int hi(){};};class Child : public Parent{ Q_OBJECT //子類中要記得加這個宏public: Child(){}; virtual ~Child(){}; virtual int hi(){};public slots: void slotDoSomething();};

分析

子類中切記要加注釋處的那個宏。不然運行時可能會出現父類中無相應槽函數的提示,并且槽函數不會被信號觸發。 某些高版本的Qt可以識別出這個宏缺少的錯誤,并在編譯時報出來。但5.1及以下版本就不好說了。

個人的理解是用connect時,Child對象中只有父類對象部分表現出QObject的特征,可以用connect進行信號槽的連接。而父類中沒有此槽函數,所以會報出這個提示。要解決這個“定位錯誤”的問題,就要讓編譯器知道Child類也有QObject的特征。也即不僅要派生自QObject類,同時也要添加Q_OBJECT宏。

添加了2個虛函數,是為了讓對象中產生虛表指針,生成動態類型信息。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东至县| 鹤岗市| 墨竹工卡县| 高邑县| 崇左市| 博乐市| 东乌| 白银市| 多伦县| 潢川县| 中牟县| 博兴县| 菏泽市| 岢岚县| 资中县| 永春县| 通州区| 清涧县| 丹棱县| 朝阳区| 竹山县| 邮箱| 太和县| 西林县| 古交市| 沽源县| 双江| 屏东县| 西吉县| 喀喇| 洪湖市| 云林县| 武汉市| 云和县| 兴和县| 怀化市| 长阳| 简阳市| 金沙县| 华宁县| 岳池县|