I've a class, derived of QObject and it has some members. I load a configuration file with param value syntax. Each param is a member of the class and I want to set it's value to value.

How is it possible, if it actually is? Thanks much!

PS I could have made an associative array but it's not the way I prefer.

有帮助吗?

解决方案

You have two ways of doing this:

  1. Declare your members as properties by using the Q_PROPERTY macro. Then you can set it by name using QObject::setProperty(..).
  2. Declare a setter method with the property name (plus a 'set' prepended for example) and the Q_INVOKABLE macro (or just make it a slot), then use QMetaObject::invokeMethod(..) to call it by name.

其他提示

It's not possible in c++. The only way is an associative array

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top