天天看點

Qt Core學習日記——第十一天QObject(下)

作者:嗷嗚笨

QObject::QObject(QObjectPrivate &dd, QObject *parent)

構造QObject

Qt Core學習日記——第十一天QObject(下)

QObject::dumpObjectInfo

将此對象的有關信号連接配接等的資訊轉儲到調試輸出

Qt Core學習日記——第十一天QObject(下)

QObject::dumpObjectTree

将子樹轉儲到調試輸出

Qt Core學習日記——第十一天QObject(下)

QObject::metaObject

傳回指向該對象的元對象的指針。

元對象包含有關繼承QObject 的類的資訊,例如類名、超類名、屬性、信号和槽。每個包含Q_OBJECT宏的QObject子類都會有一個元對象。

信号/槽連接配接機制和屬性系統需要元對象資訊。繼承()函數也使用元對象。

如果您沒有指向實際對象執行個體的指針,但仍想通路類的元對象,則可以使用staticMetaObject。

Qt Core學習日記——第十一天QObject(下)

QObject::objectName

該屬性儲存該對象的名稱

Qt Core學習日記——第十一天QObject(下)

QObject::senderSignalIndex

傳回調用目前執行槽的信号的元方法索引,該信号是sender ()傳回的類的成員。如果在由信号激活的槽之外調用,則傳回 -1。

Qt Core學習日記——第十一天QObject(下)

QObject::signalsBlocked

如果信号被阻塞則傳回true;否則傳回flase.

預設情況下,信号不會被阻止。

Qt Core學習日記——第十一天QObject(下)

QObject::thread

傳回對象所線上程

Qt Core學習日記——第十一天QObject(下)

QObject::dynamicPropertyNames

傳回對象所有屬性名稱

Qt Core學習日記——第十一天QObject(下)

QObject::connectNotify

當某些東西連接配接到該對象中的信号時,将調用該虛函數

QObject::disconnectNotify

當某些東西與該對象中的信号斷開連接配接時,将調用該虛函數

QObject::childEvent

該事件處理程式可以在子類中重新實作以接收子事件。事件在事件參數中傳遞

QObject::connectNotify

當某些東西連接配接到該對象中的信号時,将調用該虛函數

Qt Core學習日記——第十一天QObject(下)

QObject::deleteLater

計劃删除此對象。注意當時并不會立馬删除,在事件循環中才會删除

Qt Core學習日記——第十一天QObject(下)

QObject::eventFilter

對象的事件篩選函數。如果不需要處理傳回false,需要進一步處理傳回true。

預設此函數傳回false,子類使用時需重新實作此函數。

Qt Core學習日記——第十一天QObject(下)

QObject::installEventFilter

在此對象上安裝事件篩選器

實際上是加到QObjectPrivate的擴充資料extraData得eventFilters中

Qt Core學習日記——第十一天QObject(下)

QObject::removeEventFilter

Qt Core學習日記——第十一天QObject(下)

移除事件篩選器

QObject::property

擷取對象所有屬性

Qt Core學習日記——第十一天QObject(下)

QObject::registerUserData

内部函數。暫不清楚使用場景

Qt Core學習日記——第十一天QObject(下)

QObject::setParent

設定父節點

Qt Core學習日記——第十一天QObject(下)

QObject::setProperty

設定屬性

Qt Core學習日記——第十一天QObject(下)

QObject::setUserData

設定使用者資料

Qt Core學習日記——第十一天QObject(下)

QObject::userData

擷取使用者資料

Qt Core學習日記——第十一天QObject(下)

QObject::startTimer

啟動定時器

使用作業系統api實作,windows中是setTimer、timeSetEvent

Qt Core學習日記——第十一天QObject(下)

QObject::timerEvent

虛函數,用于處理定時器響應事件。子函數自定義實作

Qt Core學習日記——第十一天QObject(下)

QObject::killTimer

删除定時器

實際上就是調用作業系統API,如windows調用KillTimer

Qt Core學習日記——第十一天QObject(下)

QObject::isSignalConnected

是否存在信号連接配接

Qt Core學習日記——第十一天QObject(下)

QObject::moveToThread

将對象移動到其它線程

注意此對象不能有父節點、不能是控件類型,否則移動失敗

Qt Core學習日記——第十一天QObject(下)

QObject::receivers

傳回信号的接收者數量

Qt Core學習日記——第十一天QObject(下)

QObject::event

此虛函數接收對象的事件,如果事件被識别和處理,則應傳回 true

Qt Core學習日記——第十一天QObject(下)

繼續閱讀