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

标签 qt qgraphicsview

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

最佳答案

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

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

关于qt - 如何让Qt Graphics View Framework支持自定义图层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3031013/

相关文章:

c++ - 从服务器接收 xml 结果

qt - QDialog : how to use question mark (?)按钮?

c++ - Qt 在特定区域移动对象

c++ - 交互式编辑 QPixmap 上的现有矩形?

c++ - 移除 QGraphicsView 周围的蓝色焦点边框

c++ - QGraphicsScene 中的鼠标移动跟踪

c++ - win32 C++ 打印字符串到打印机

c++ - 构建 QString 输出字符串

android - 如何在 Qt/QML for android 中创建网页缩略图

c++ - 关于缩放 QGraphicsView/QGraphicsScene 的一般建议