Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在 Qt Quick(Qt 声明式和 QML)中进行一些测试,并且我想检查构成声明式接口的元素。
例如,如果我有一个由一个矩形和两个图像组成的声明性 GUI,我希望有一个包含三个(或更多)元素的列表,其中包含这些小部件(或 Qt Declarative 中的项目)。
在 Qt4 中,它就像调用 QApplication::allWidgets() 方法一样简单,但我不知道如何在 QML 中做到这一点。
事件过滤器也是如此,因此我无法将事件发送到这些项目。
干杯!!!
您可以通过以下方式获取根对象:
QGraphicsObject * QDeclarativeView::rootObject () const
它为您提供了一个 QGraphicsObject,然后您可以使用:
QList<QGraphicsItem *> QGraphicsObject::childItems () const
childItems()实际上是在QGraphicsItem中定义的,QGraphicsObject是QGraphicsItem的子类