qmetaobject是負責元物件資訊的類,每個繼承自qobject的類都會有乙個qmetaobject物件,qobject物件共用該qmetaobject物件,給類提供遠多於c++預設的typeinfo提供的資訊。主要內容如下:
1、類資訊
類:qmetaclassinfo q_classinfo //q_classinfo("author", "sabrina schweinsteiger")
qmetamethod
constructor ( int index ) const
intconstructorcount () const
qmetaenum q_enum //
qmetaenum
enumerator ( int index ) const
intenumeratorcount () const
intenumeratoroffset () const
qmetamethod q_invokable
qmetamethod
method ( int index ) const
intmethodcount () const
intmethodoffset () const
qmetaproperty q_property
qmetaproperty
property ( int index ) const
intpropertycount () const
intpropertyoffset () const
qmetaproperty
userproperty () const
***offset()//返回某類資訊的第乙個index
***count()
//一般用法for(int i=***offset();i<***count();++i); 遍歷某種資訊
classname();//返回類名
superclass();//返回父類qmetaobject
Qt元物件系統
產生背景 qt的元物件系統為物件間的通訊提供了訊號槽機制 執行時型別資訊 動態屬性系統。核心內容 qt的元物件系統實現基於三方面 1.qobject基類。為能夠利用元物件系統的物件提供了乙個基類。2.q object巨集。用於實現元物件特性,如動態屬性 訊號槽。3.meta object compi...
Qt元物件系統
系統介紹 qt 元物件系統 meta object system qt的元物件系統基於如下三件事情 1.類 qobject,為所有需要利用元物件系統的物件提供了乙個基類。2.巨集 q object,通常可以宣告在類的私有段中,讓該類可以使用元物件的特性,比如動態屬性,訊號和槽。3.編譯器 元物件編譯...
QT元物件系統
物件間的訊號和槽機制。執行時型別資訊和動態屬性系統。必須繼承自qobject 在類宣告區域新增q object巨集。用於啟動原物件特性。元物件編譯器 moc 為每個qobject的子類,提供實現元物件特性所必須的 反射機制指的是在執行時,能獲取任意乙個物件的所有型別 屬性和成員函式等資訊的一種機制。...