假设我有一些像
这样的课程class MyClass : public QObject
{
Q_OBJECT
public:
explicit MyClass (QObject *parent = 0);
~MyClass ();
int var1;
QString var2;
};
我想要做的是在循环中打印其成员变量,如var1和var2。 QMetaObject可以帮助我吗?
答案 0 :(得分:1)
不,它不能,因为Qt的元数据系统只提供有关类的以下信息:
Q_PROPERTY
声明),Q_CLASSINFO
声明)。具体来说,moc
会忽略任何其他成员,并且不为它们生成元数据,因为这会浪费。
可以修补moc和元数据格式以添加其他类型的信息 - 这些都不是很大的变化。请随意查看moc源和QMetaData
来解决这个问题。