标题:Qt5 仪表盘指针平滑转动回转实现思路
作者:兵317
日期:2016-04-20 17:38
内容:
前两天发表了一个帖子,主要是讨论了用贴图方式实现仪表盘的绘制及指针的转动(坐标系旋转),得到几位朋友(nigoole、无心徘徊)的帮助,在这里表示谢谢,虽然可以通过旋转坐标系的方式来旋转指针,但效果比较生硬,比如设置转动范围(左边a到右边b),超过右边b的刻度重新返回到初始位置a(自己设置),效果就是猛的从b位置立即跳变到a位置,中间都没有那种实际表盘的过渡过程(往回快速转动到a位置),显得很突兀,很不自然,现实中的指针还有一种动作就是当指针首次停顿在某个位置时(人为控制,比如Qt creator里面自带的qml例子dialcontrol,通过slider控制表盘指针的转动,转动效果很平滑,看着很舒服)会有个来回小幅度的振动效果。
简单来说,我现在想实现类似dialcontrol那种转动效果的仪表盘,指针转动很平滑,停顿下来有小幅度的来回摆动,当从右返回到左边刻度的时候能够平滑的逆时针回转到左边的刻度。请问各位前辈达人,这该如何实现呢?大概要用到哪些函数呢?对于一个刚接触这块的我目前是一点思路方向也没有的。。。
#1 [兵317 04-20 17:38]
#2 [nigoole 04-20 21:48]
很抱歉上次帮你贴图效果不怎么好,没那出来,这2天也比较忙没时间弄了。
你想平滑的转动可以用QTileLine替你完成。
#3 [nigoole 04-20 21:49]
说白了就是一个定时器事件,在你指定的波动范围和时间周期内连续画图片移动的效果图
#4 [nigoole 04-20 21:49]
QTimeLine
#5 回 nigoole 的帖子 [兵317 04-21 07:50]
nigoole:很抱歉上次帮你贴图效果不怎么好,没那出来,这2天也比较忙没时间弄了。
你想平滑的转动可以用QTileLine替你完成。 (2016-04-20 21:48)
呵呵,没事的,不用放在心上啦。上次贴图的指针图片尺寸是个矩形,不好弄,能理解,你能说帮忙我就已经很感谢了。