Динамические свойства времени выполнения в QPropertyEditor

StackOverflow https://stackoverflow.com/questions/939620

Вопрос

Я использую 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) );
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top