Динамические свойства во время выполнения в QPropertyEditor - PullRequest
1 голос
/ 02 июня 2009

Я использую QPropertyEditor от Qt-Apps.org.

возможно ли создать класс с открытыми свойствами, где количество свойств является динамическим во время выполнения? Так, например, у вас есть класс, который представляет вектор с плавающей точкой произвольной длины, который не известен во время компиляции. Итак, у вас есть

vector<float> myFloats;

как ученик. Как представить это как свойство с помощью макроса Q_PROPERTY. Поэтому в конце я хотел бы иметь следующий вид в виджете редактора свойств:

  • MyClass
    • значение myFloats [0]
    • значение myFloats [1]
    • значение myFloats [2] ... ...

Заранее спасибо!

1 Ответ

3 голосов
/ 03 июня 2009

Используя динамические свойства ...

В вашем классе вы можете установить во время выполнения динамические свойства этого класса

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) );
    }
}
...