Динамические свойства времени выполнения в QPropertyEditor
-
06-09-2019 - |
Вопрос
Я использую QPropertyEditor с сайта Qt-Apps.org.
Можно ли создать класс с открытыми свойствами, где количество свойств является динамическим во время выполнения?Например, у вас есть класс, который представляет вектор чисел с плавающей запятой произвольной длины, которая неизвестна во время компиляции.Итак, у вас есть
vector<float> myFloats;
как член класса.Как представить это как свойство с помощью макроса Q_PROPERTY.Итак, в конце виджета редактора свойств мне хотелось бы иметь следующее представление:
- Мои занятия
- значение myFloats[0]
- значение myFloats[1]
- ценность мифлуат [2] ......
Заранее спасибо!
Решение
Используя динамические свойства ...
В вашем классе вы можете установить во время выполнения динамические свойства этого класса.
DynamicPropertiesClassForQPropertyEditor()
{
QVector<int> properties;
///.... fill in thevalues
for (int i=0 ; i!=properties.size() ; ++i )
{
const QString propertyName = QString( "value of properties[%1]").arg(i);
setProperty( qPrintable(propertyName) ,properties.at(i) );
}
}
Не связан с StackOverflow