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

发布于 2024-09-05 06:16:46 字数 332 浏览 8 评论 0原文

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我恋#小黄人 2024-09-12 06:16:46

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

  • 您可以使用 QGraphicsItemGroup
    对项目进行分组。
  • 或者将相同“层”的项目放入 QGraphicsItem 中不画任何东西。

I can see 2 ways of achieving layering of items:

  • You can use QGraphicsItemGroup
    to group items.
  • Or put items of same "layer" into a parent QGraphicsItem that does not draw anything.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文