Qt获取QObject对应的类名并把它转为真实类型

QObject是有窗口类的父类,比如QWidget,QLabel,QPushButton等都直接或间接继承自QObject类。如果把某个窗口中的所有控件都装到一个QList<QObject*>中,那么如何区分当前的是那种类型控件呢?

QObject *obj;

if (obj->metaObject()->className() == QStringLiteral("QPushButton")这样就可确定其类型为一个按钮。

然后通过

QPushButton *b = qobject_cast<QPushButton*>(obj); 转为真实的类型。
————————————————

原文链接:https://blog.csdn.net/aristolto/article/details/80271763

 

posted @ 2022-10-23 15:07  雾枫  阅读(426)  评论(0编辑  收藏  举报