proprietà Runtime-dinamica in QPropertyEditor
-
06-09-2019 - |
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!
Soluzione
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