QGraphicsPathItem 橡皮擦/将 QGraphicsPathItem 拆分为两个新的

问题描述

我正在开发一个使用 Qt5 的应用程序,您可以在其中自由手绘矢量图形中的任意形状,移动它们并部分删除部分(就像 Microsoft 油漆中的橡皮擦一样)。

我通过添加 QGraphicsPathItemQGraphicsScene 中绘制形状并使用 QGraphicsItem::ItemIsMovable 标志移动它们。橡皮擦的问题仍然存在。

有没有人遇到过部分删除 QGraphicsPathItem 的任务?特别是在我们用橡皮擦将图形分成两个(或更多)部分并且这些应该成为单独的新 QGraphicsPathItem 的情况下?有可能实现吗?

感谢您的帮助!

解决方法

巧合的是,我正在制作一个类似的应用程序。我的应用程序只涉及 d0freehand 绘图。我正在使用鼠标事件来添加或删除。我从 this 开始并对其进行了大量修改。我一直在使用选择缓冲区来选择一个对象并使用矩阵来移动它们。

回答你的问题,部分擦除:

  • 将前一项分为两项
  • 删除上一项。
  • 重新绘制新项目。