提要
场景中有多个窗口,窗口处于不断更新中,获取场景中当前所有窗口的图层。由于特定的结构,这里场景中的窗口采用自定义窗口,将该自定义窗口作为自定义代理窗口的窗口,图形项作为自定义代理窗口的父窗口,再将图形项添加到场景中。这里只做图形项层次获取的说明。
示例
以下是获取场景中的图形项的图层。
ProxyWidget *m_proxy;//这里只做参数类型说明,具体的值不做说明,此为自定义代理窗口继承于QGraphicsProxyWidgetQList<QGraphicsItem*> itemsList= m_proxy->scene()->items(Qt::AscendingOrder);QGraphicsItem* ptItemTop=NULL;//顶层图形项qreal qMax = 0;for(int k=0;k<itemsList.size();++k){QGraphicsItem* ptItem = itemsList.at(k);qreal zValue = ptItem->zValue();if(zValue>qMax){qMax = zValue;ptItemTop = ptItem;}}