2010-07-08 4 views
0

Je fais des tests dans Qt Quick (Qt Declarative et QML), et je voudrais inspecter les éléments composant l'interface déclarative. Par exemple, si j'ai une interface graphique déclarative composée d'un rectangle et de deux images, j'aimerais avoir une liste avec trois (ou plus) éléments avec ces widgets (ou éléments dans Qt Declarative).Inspection des éléments et événements en QML (QT Déclaratif)

Dans Qt4, il est aussi facile que d'appeler la méthode QApplication :: allWidgets(), je ne sais pas comment le faire dans QML. La même chose arrive avec les filtres d'événements, donc je ne peux pas obtenir les événements envoyés à ces éléments.

À la votre !!!

Répondre

1

Vous pouvez obtenir l'objet racine de cette façon:

QGraphicsObject * QDeclarativeView::rootObject() const 

qui vous donne un QGraphicsObject, et vous pouvez utiliser:

QList<QGraphicsItem *> QGraphicsObject::childItems() const 

childItems() est effectivement défini dans QGraphicsItem, QGraphicsObject est classe d'enfant de QGraphicsItem

+0

Salut, J'ai déjà résoudre ce problème que nous décrivons dans: http://catedrasaes.inf.um.es/trac/blog/pedromateo-13/07/2010-qml_event_item_introspection Merci quand même, Vive !!! – pedromateo

+1

pedrometeo: Si cette réponse résout votre problème, pouvez-vous accepter la réponse? ou si ce n'est pas le cas, pouvez-vous répondre et accepter votre réponse? – BlueMagma

Questions connexes