如何让Qt Graphics View Framework支持自定义图层
Qt的图形视图框架非常强大,但我还没有找到支持自定义图层的方法。 在Qt中,有一个QGraphicsScene::ItemLayer,但是QGraphicsScene渲染的所有项目都在这一层中。我想管理多个图层的项目,就像 Illustrator 和 CorelDraw 一样。 只有当前图层中的所有项目才会接收到事件,被选中或获得关键焦点等。其他图层(非当前图层)不会接收所有场景事件。 使用图层的最大原因是我可以更清楚地对大量项目进行分类。并且不需要将事件传输到所有图层的项目,我认为图形框架会更有效。 最后一个问题,QGraphicsView是否支持同时渲染服务器堆叠图形场景?如果支持的话,我想“自定义层”可以通过这种方式解决。 非常感谢!
Qt's graphics view frameworks is very powerful, but I have not found a way to support custom layers.
In Qt, there is a QGraphicsScene::ItemLayer,but QGraphicsScene renders all items are in this layer. I want manage the items with several layers, Just like Illustrator and CorelDraw.
all the item only in the current layer will receive the event, be selected or get the key focus etc.. Other layers(not current layer) will not receive all scene event.
The most reasons of using layers is I could catalogue a large number of items more clearly.And without needing transfer events to all the layers' items ,I think the graphics frameworks will be more efficient.
The last question, does QGraphicsView support rendering server stacked graphics scenes at the same time? If support, I think the "custom layers" can be solved in this way.
Thanks very much!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我可以看到实现项目分层的两种方法:
QGraphicsItemGroup
对项目进行分组。
I can see 2 ways of achieving layering of items:
QGraphicsItemGroup
to group items.