jerrybaxia |
2020-12-03 17:11 |
QT中的反射,如何反射取得私成成员和变量
- QWidget *p = static_cast<QWidget *>(this);
const QMetaObject *metaObj = p->metaObject(); int propertyCnt = metaObj->propertyCount(); for ( int i = 0; i < propertyCnt; ++ i ) { QMetaProperty oneProperty = metaObj->property( i ); qDebug() << " name: " << oneProperty.name() << " type: " << QVariant::typeToName( oneProperty.type()) << "\n"; }
//2.遍历类的函数成员 int methodCnt = metaObj->methodCount(); for ( int idx = 0; idx < methodCnt; ++ idx ) { QMetaMethod oneMethod = metaObj->method( idx ); qDebug() << oneMethod.access() << " name: " << oneMethod.name() << " typeName: " << oneMethod.typeName() << " methodType: " << oneMethod.methodType() << "\n"; }
用以上方法没有办法获取得到 private 的私有变量和私有方法 那有哪个方法,可以获取我的一个类的私有变量和私有方法呢? 谢谢
|
|