AQWidget
作为paintEvent
负责他的绘图的函数。为了正确实现该功能,使用一个QStyle
对象来表示每个组件,并使用一个QStyleOption
对象来保存控件的状态。
例如:一个自定义ScrollBar
实现 his paintEvent
,它drawComplexControl
使用选项“ CC_ScrollBar
”调用。然后,QProxyStyle
可以扩展以更改滚动条的外观。
当用户悬停滑块时,paintEvent
调用哪个应用新的“悬停”外观,哪个状态保存在QStyleOption::state
. 但是对于现在的一天小部件,这个状态不应该立即更新,而是在大约 100-500 毫秒内平滑过渡(动画)。为了使用此转换为小部件设置动画,需要一些值,例如滚动每个部分的动画当前状态 (a qreal
/ ?):顶部箭头、底部箭头或滑块。QColor
在这个“长”的介绍之后,我的问题来了:
是否有变量可以设置此动画的状态?我可以使用这个新值进行扩展QStyleOption
,但当前的实现似乎已经包含动画,我无法找到这个转换状态的保存位置。
我正在寻找一个规范的答案。
注意:为了避免“可能重复...”,即使稍微相关,这也不是关于如何使用 QAnimation 或创建自定义小部件的问题。