Qt获取QObject对应的类名并把它转为真实类型(使用obj->metaObject()->className() )

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

QObject *obj;

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

然后通过

QPushButton *b = qobject_cast<QPushButton*>(obj); 转为真实的类型。
---------------------
作者:五香花生米
来源:CSDN
原文:https://blog.csdn.net/aristolto/article/details/80271763
版权声明:本文为博主原创文章,转载请附上博文链接!

posted @ 2019-04-15 16:16  findumars  Views(2785)  Comments(0Edit  收藏  举报