سؤال

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