0

我正在 Qt Quick(Qt 声明式和 QML)中进行一些测试,并且我想检查构成声明式接口的元素。

例如,如果我有一个由一个矩形和两个图像组成的声明性 GUI,我希望有一个包含三个(或更多)元素的列表,其中包含这些小部件(或 Qt Declarative 中的项目)。

在 Qt4 中,它就像调用 QApplication::allWidgets() 方法一样简单,但我不知道如何在 QML 中做到这一点。

事件过滤器也是如此,因此我无法将事件发送到这些项目。

干杯!!!

4

1 回答 1

1

您可以通过以下方式获取根对象:

QGraphicsObject * QDeclarativeView::rootObject () const

它为您提供了一个 QGraphicsObject,然后您可以使用:

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

childItems()实际上是在QGraphicsItem中定义的,QGraphicsObject是QGraphicsItem的子类

于 2010-07-14T11:38:05.700 回答