Consegui!!!
header da classe c1:
@#ifndef C1_H
#define C1_H
#include <QObject>
class C1 : public QObject
{
Q_OBJECT
private:
public:
explicit C1(QObject *parent = 0);
QString campo1();//const; //Tem que existir o método de leitura
int campo2();
Q_PROPERTY(QString campo1 READ campo1)//Aqui vc declara a propriedade
Q_PROPERTY(int campo2 READ campo2)
private:
};
#endif // C1_H
@
Meu cpp da classe c1
@#include "c1.h"
C1::C1(QObject *parent) :
QObject(parent)
{
}
QString C1::campo1()
{
return "Consegui";
}
int C1::campo2()
{
return 1;
}@
Meu main.c ficou assim:
@#include "mainwindow.h"
#include <QApplication>
#include <QDebug>
#include <QMetaProperty>
#include <QObject>
#include <QVariant>
#include <c1.h>
static void testeprint(QObject c1)
{
const QMetaObject metaObject = c1->metaObject();
for(int i = metaObject->propertyOffset(); i < metaObject->propertyCount(); ++i)
{
QVariant v = c1->property(metaObject->property(i).name());
qDebug() << QString::fromLatin1(metaObject->property(i).name())<<v.toString()<<v.type();
}
}
int main(int argc, char *argv[])
{
C1 *c1 = new C1;
testeprint(c1);
return 0;
}@
resultado do qDebug() :
"campo1" "Consegui" QVariant::QString
"campo2" "1" QVariant::int
ObrigadoTioRoy, suas dicas ajudaram muito!