如何让Qt图形视图框架支持自定义层

如何让Qt图形视图框架支持自定义层,qt,qgraphicsview,Qt,Qgraphicsview,Qt的图形视图框架非常强大,但我还没有找到一种支持自定义层的方法。 在Qt中,有一个QGraphicscene::ItemLayer,但QGraphicscene渲染所有项目都在该层中。我想管理几个层次的项目,就像Illustrator和CorelDraw。 仅当前层中的所有项目将接收事件、被选择或获得关键焦点等。。其他层(非当前层)不会接收所有场景事件。 使用图层的最大原因是我可以更清晰地对大量的项目进行分类。并且不需要将事件转移到所有图层的项目,我认为图形框架会更有效。 最后一个问题,QGr

Qt的图形视图框架非常强大,但我还没有找到一种支持自定义层的方法。 在Qt中,有一个QGraphicscene::ItemLayer,但QGraphicscene渲染所有项目都在该层中。我想管理几个层次的项目,就像Illustrator和CorelDraw。 仅当前层中的所有项目将接收事件、被选择或获得关键焦点等。。其他层(非当前层)不会接收所有场景事件。 使用图层的最大原因是我可以更清晰地对大量的项目进行分类。并且不需要将事件转移到所有图层的项目,我认为图形框架会更有效。 最后一个问题,QGraphicsView是否支持同时渲染服务器堆叠的图形场景?如果支持,我认为“自定义层”可以通过这种方式解决。
非常感谢

我可以看到两种实现项目分层的方法:

  • 你可以用 对项目进行分组
  • 或者将相同“层”的项目放入不绘制任何内容的QGraphicsItem中

非常感谢,我将尝试QGraphicsSiteMgroup类。没问题。如果它对您有效,如果您接受或支持此答案,我们将不胜感激。:)