QPROPERTYEDITOR의 런타임-다이나믹 속성
-
06-09-2019 - |
문제
QT-Apps.org에서 QPROPERTYEDITOR를 사용하고 있습니다.
속성의 양이 런타임이 동적 인 노출 된 속성을 가진 클래스를 만들 수 있습니까? 예를 들어, 컴파일 시간에 알려지지 않은 임의의 길이를 가진 플로트의 벡터를 나타내는 클래스가 있습니다. 그래서 당신은 a
vector<float> myFloats;
클래스 멤버로서. 이것을 Q_Property 매크로로 속성으로 노출시키는 방법. 결국 나는 속성 편집기 위젯에서 다음과 같은 견해를 갖고 싶습니다.
- 내 수업
- myfloats의 가치 [0
- myfloats의 가치 [1
- myfloats의 가치 [2] ... ...
미리 감사드립니다!
해결책
사용하여 동적 특성 ...
수업에서 U는 런타임에 해당 클래스의 동적 특성을 설정할 수 있습니다.
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) );
}
}
제휴하지 않습니다 StackOverflow