按名称设置类成员值

时间:2012-10-30 09:38:50

标签: c++ qt setvalue class-members

我是一个由QObject派生的类,它有一些成员。 我使用param value语法加载配置文件。每个param都是该类的成员,我想将其值设置为value

如果可能的话怎么可能?非常感谢!

PS我可以创建一个关联数组,但这不是我喜欢的方式。

2 个答案:

答案 0 :(得分:4)

您有两种方法:

  1. 使用Q_PROPERTY宏将您的成员声明为属性。然后,您可以使用QObject::setProperty(..)按名称设置它。
  2. 使用属性名称(加上例如前缀'set')和Q_INVOKABLE宏(或只是将其设为slot)声明一个setter方法,然后使用QMetaObject::invokeMethod(..)来按名称命名。

答案 1 :(得分:0)

在c ++中是不可能的。唯一的方法是关联数组