QObject是有窗口類的父類,比如QWidget,QLabel,QPushButton等都直接或間接繼承自QObject類。如果把某個窗口中的所有控件都裝到一個QList<QObject*>中,那麼如何區分當前的是那種類型控件呢?
QObject *obj;
if (obj->metaObject()->className() == QStringLiteral("QPushButton")這樣就可確定其類型爲一個按鈕。
然後通過
QPushButton *b = qobject_cast<QPushButton*>(obj); 轉爲真實的類型。