如何让Qt Graphics View Framework支持自定义图层

时间:2010-06-13 03:57:44

标签: qt qgraphicsview

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

1 个答案:

答案 0 :(得分:4)

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

  • 您可以使用QGraphicsItemGroup 分组项目。
  • 或者将相同“图层”的项目放入不会绘制任何内容的parent QGraphicsItem中。