程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 模板函數在信號槽機制中的作用

模板函數在信號槽機制中的作用

編輯:關於C語言

同之前所寫的,ShowButton是繼承自QGraphicsWidget的自定義控件

ShowButton* button = qobject_cast<ShowButton*>(sender());

這句話的意思就是將sender()信號的發出者的QObject型指針就行強轉得到需要的類型,


這裡看模板函數

template <class T>

inline T qobject_cast(QObject *object)

{//這是模板函數的定義,實現的是,如果object是T類型或者它的自雷,就可以把object返回成T類型對象,前提是要包含Q_OBJECT宏

}

我們觀察發現sender()的發出者是QGraphicsWidget的子類,而QGraphicsWidget繼承自QGraphicsObject,QGraphicsObject又繼承自QObject,因此,這個sender()確實可以作為實參傳給object,然後函數qobject_cast會把它轉化成想要的ShowButton*類型。




本文出自 “賣萌程序員” 博客,請務必保留此出處http://7677869.blog.51cto.com/7667869/1265607

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved