propriedades de tempo de execução-dinâmicos em QPropertyEditor
-
06-09-2019 - |
Pergunta
Eu estou usando o QPropertyEditor de Qt-Apps.org.
É possível criar uma classe com propriedades expostas onde a quantidade de propriedades é tempo de execução dinâmico? Assim, por exemplo, você tem uma classe que representa um vector de carros alegóricos com um comprimento arbitrário que não é conhecido em tempo de compilação. Então você tem um
vector<float> myFloats;
como um membro da classe. Como para expor isso como uma propriedade com o macro Q_PROPERTY. Então, no final, eu gostaria de ter o seguinte vista no widget editor de propriedade:
- MyClass
- valor de myFloats [0]
- valor de myFloats [1]
- valor de myFloats [2] ... ...
Agradecemos antecipadamente!
Solução
Ao usar propriedades dinâmicas ...
Na sua classe u pode definir em tempo de execução as propriedades dinâmicas de que a 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) );
}
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow