Qt獲取QObject對應的類名並把它轉爲真實類型

QObject是有窗口類的父類,比如QWidget,QLabel,QPushButton等都直接或間接繼承自QObject類。如果把某個窗口中的所有控件都裝到一個QList<QObject*>中,那麼如何區分當前的是那種類型控件呢?

QObject *obj;

if (obj->metaObject()->className() == QStringLiteral("QPushButton")這樣就可確定其類型爲一個按鈕。

然後通過

QPushButton *b = qobject_cast<QPushButton*>(obj); 轉爲真實的類型。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章