相关疑难解决方法(0)

Qt/C++ 如何迭代给定类对象的 QMetaObject 属性/数据类型?

在 C#/Java 中,我使用反射来读取类的属性。我尝试过使用 Qt,但不知道是否能正确解决我的问题。

一个简单的 Person 类头,注意 3 个属性(id、fname、lname)

#ifndef PERSON_H
#define PERSON_H

#include <QObject>

class Person : public QObject
{
    Q_OBJECT
public:
    explicit Person(QObject *parent = 0);

    int id;

    QString fname;

    QString lname;

    /* ... 50+ more properties here */

    int getId() const;
    void setId(int value);

    QString getFname() const;
    void setFname(const QString &value);

    QString getLname() const;
    void setLname(const QString &value);

    /* ... 50+ more getter/setters here */

signals:

public slots:
};

#endif // PERSON_H
Run Code Online (Sandbox Code Playgroud)

通过以下代码片段,我想打印 Person 类的属性。目的是稍后循环遍历对象集合并根据类属性是否已分配值来加载带有值的 QMap。

Person …
Run Code Online (Sandbox Code Playgroud)

c++ qt

4
推荐指数
1
解决办法
3358
查看次数

标签 统计

c++ ×1

qt ×1