我正在尝试编写一款软件,该软件允许单击视频帧并标记帧中某个位置的 x、y 坐标。为了设计这个,我一直想使用 QGraphicsView 子类,并在鼠标单击事件上,在单击发生的位置实例化一个带有 PNG 图像“目标”的 QLabel。
到目前为止,除了让 QLabel 透明之外,我已经完成了所有工作。我在网上找到的所有信息似乎都不适用于最新的 Qt。我是否应该完全重新考虑我的设计并在 Qt 中利用某种与绘画的集成?或者有没有办法挽救 QLabel PNG 实现并确实使标签透明?
谢谢,--丹妮。
我正在尝试编写一款软件,该软件允许单击视频帧并标记帧中某个位置的 x、y 坐标。为了设计这个,我一直想使用 QGraphicsView 子类,并在鼠标单击事件上,在单击发生的位置实例化一个带有 PNG 图像“目标”的 QLabel。
到目前为止,除了让 QLabel 透明之外,我已经完成了所有工作。我在网上找到的所有信息似乎都不适用于最新的 Qt。我是否应该完全重新考虑我的设计并在 Qt 中利用某种与绘画的集成?或者有没有办法挽救 QLabel PNG 实现并确实使标签透明?
谢谢,--丹妮。
QGraphicsView 中的 QLabel 确实不是一个好主意。QGraphicsView 被设计用来承载 QGraphicsItems,显示一个你应该使用 QGraphicsPixmapItem 的图像。
将 QWidget 嵌入到 QGraphicsView 中会产生一些开销,并且实际上是为复杂的小部件设计的,这些小部件在 QGraphicItems 方面不容易重新实现。
我认为QGraphicsItem带有ItemIgnoresTransformations标志的正是您想要的。