Nom de classe de QMetaProperty

Je travaille sur la création de mon propre widget de concepteur qui ressemble et fonctionne comme qt. Mais maintenant j’avais besoin de savoir comment la propriété est créée. Je savais que nous pouvons obtenir les propriétés d’un widget en utilisant QMetaObject et QMetaProperty mais ma question est de savoir si je pourrai obtenir le nom de classe de chaque propriété. La propriété Like name nom provient de QObject et la propriété geomentry provient de QWidget . Est-ce que je devrais me coder en dur pour modéliser ou existe-t-il un moyen d’obtenir le classInfo à partir de la propriété. J’ai joint l’image qui im ​​essayant d’obtenir une réponse ou un post connexe est appréciée.

Merci, entrez la description de l'image ici

Pour créer un mappage entre les classes et leurs propriétés, vous devez parcourir la hiérarchie des classes de votre object. Voici l’exemple de code qui crée un tel mappage:

 // Create properties per class mapping for the initialObject. const QMetaObject *mo = initialObject->metaObject(); QMap propertyMap; do { QSsortingngList properties; for(int i = mo->propertyOffset(); i < mo->propertyCount(); ++i) { properties << QString::fromLatin1(mo->property(i).name()); } propertyMap[mo->className()] = properties; } while (mo = mo->superClass()); 

PropertyMap contient désormais toutes les propriétés sortingées par les noms de classe auxquels elles appartiennent.