Qt 在自定义渲染控件上绘制小 'x' 图标

Qt draw small 'x' icon on custom-rendered control

我正在 Qt 中的 paintEvent 函数中绘制一个自定义控件(所以我有一个 QPainter 来绘制)。现在我想添加一个小的关闭 'x' 图标,当鼠标悬停在它上面时它会动画。

我知道 QPainterPath 有一个“contains”方法,我可以用它来测试鼠标进入该区域,但我想知道我应该如何去画小 'x'.

我希望 'x' 在鼠标进入该区域时进行动画处理(例如旋转),但我不确定如何实现。我试过手动绘制我的 'x' 但感觉过于复杂.. 而且旋转它会很痛苦。

在自定义呈现的控件(最好是在 QPainterPath 中)中绘制小图标的最佳方法是什么?

我会在应用程序中添加一个图标,然后绘制该 QIcon 的像素图。如果有绘制带旋转的像素图的函数,您可以使用 QPropertyAnimation 来 "animate" 旋转角度。