Pregunta

Estoy utilizando el QPropertyEditor de Qt-Apps.org.

Es posible crear una clase con propiedades expuestas en la cantidad de propiedades de tiempo de ejecución es dinámico? Así, por ejemplo, tiene una clase que representa un vector de flotadores con una longitud arbitraria que no se conoce en tiempo de compilación. Por lo que tiene un

vector<float> myFloats;

como un miembro de la clase. Cómo exponer esto como una propiedad con la macro Q_PROPERTY. Así que al final me gustaría tener el siguiente punto de vista en el widget editor de la propiedad:

  • MiClase
    • valor de myFloats [0]
    • valor de myFloats [1]
    • valor de myFloats [2] ... ...

Gracias de antemano!

¿Fue útil?

Solución

Mediante el uso de propiedades dinámicas ...

En la clase u puede establecer en tiempo de ejecución las propiedades dinámicas de la clase

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) );
    }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top