문제

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) );
    }
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top