Domanda

Sto usando il QPropertyEditor da Qt-Apps.org.

è possibile creare una classe con proprietà esposte in cui la quantità di proprietà è di runtime-dinamica? Così, per esempio di avere una classe che rappresenta un vettore di carri con una lunghezza arbitraria che non è noto al momento della compilazione. In modo da avere un

vector<float> myFloats;

come un membro della classe. Come esporre questa come una proprietà con la macro Q_PROPERTY. Così alla fine mi piace avere il seguente vista nel widget editor di proprietà:

  • MyClass
    • valore myFloats [0]
    • valore myFloats [1]
    • valore myFloats [2] ... ...

Grazie in anticipo!

È stato utile?

Soluzione

proprietà dinamiche ...

Nella classe u può impostare a runtime le proprietà dinamiche di quella classe

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) );
    }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top