2010-06-13 63 views
2

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

回答

4

我可以看到2种方式实现项目的层次感:

  • 您可以使用QGraphicsItemGroup 组项目。
  • 或将相同“图层”的项目放入一个不绘制任何东西的parent QGraphicsItem。
+0

非常感谢,我会尝试QGraphicsItemGroup类。 – jnblue 2010-06-14 01:27:25

+0

没问题。如果它适合你,如果你接受或投票回答此问题将不胜感激。 :) – 2010-06-17 17:33:25