• 8559阅读
  • 9回复

[讨论]Qt5 仪表盘指针平滑转动回转实现思路 [复制链接]

上一主题 下一主题
离线兵317
 

只看楼主 倒序阅读 楼主  发表于: 2016-04-20
       前两天发表了一个帖子,主要是讨论了用贴图方式实现仪表盘的绘制及指针的转动(坐标系旋转),得到几位朋友(nigoole、无心徘徊)的帮助,在这里表示谢谢,虽然可以通过旋转坐标系的方式来旋转指针,但效果比较生硬,比如设置转动范围(左边a到右边b),超过右边b的刻度重新返回到初始位置a(自己设置),效果就是猛的从b位置立即跳变到a位置,中间都没有那种实际表盘的过渡过程(往回快速转动到a位置),显得很突兀,很不自然,现实中的指针还有一种动作就是当指针首次停顿在某个位置时(人为控制,比如Qt creator里面自带的qml例子dialcontrol,通过slider控制表盘指针的转动,转动效果很平滑,看着很舒服)会有个来回小幅度的振动效果。
       简单来说,我现在想实现类似dialcontrol那种转动效果的仪表盘,指针转动很平滑,停顿下来有小幅度的来回摆动,当从右返回到左边刻度的时候能够平滑的逆时针回转到左边的刻度。请问各位前辈达人,这该如何实现呢?大概要用到哪些函数呢?对于一个刚接触这块的我目前是一点思路方向也没有的。。。
离线兵317

只看该作者 1楼 发表于: 2016-04-20
离线nigoole

只看该作者 2楼 发表于: 2016-04-20
很抱歉上次帮你贴图效果不怎么好,没那出来,这2天也比较忙没时间弄了。
你想平滑的转动可以用QTileLine替你完成。
有句话说得好:好好学习,天天向上。加油~~!有上船的朋友联系企鹅393320854
离线nigoole

只看该作者 3楼 发表于: 2016-04-20
说白了就是一个定时器事件,在你指定的波动范围和时间周期内连续画图片移动的效果图
有句话说得好:好好学习,天天向上。加油~~!有上船的朋友联系企鹅393320854
离线nigoole

只看该作者 4楼 发表于: 2016-04-20
QTimeLine
有句话说得好:好好学习,天天向上。加油~~!有上船的朋友联系企鹅393320854
离线兵317

只看该作者 5楼 发表于: 2016-04-21
回 nigoole 的帖子
nigoole:很抱歉上次帮你贴图效果不怎么好,没那出来,这2天也比较忙没时间弄了。
你想平滑的转动可以用QTileLine替你完成。 (2016-04-20 21:48) 

呵呵,没事的,不用放在心上啦。上次贴图的指针图片尺寸是个矩形,不好弄,能理解,你能说帮忙我就已经很感谢了。
离线兵317

只看该作者 6楼 发表于: 2016-04-21
回 nigoole 的帖子
nigoole:QTimeLine
 (2016-04-20 21:49) 

平滑转动可以用QTimeLine,那么那个小幅度的抖动效果,你看有什么思路呢?
离线uidab

只看该作者 7楼 发表于: 2016-04-21
回 兵317 的帖子
兵317:平滑转动可以用QTimeLine,那么那个小幅度的抖动效果,你看有什么思路呢? (2016-04-21 07:51) 

抖动可以采用阻尼曲线。
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线兵317

只看该作者 8楼 发表于: 2016-04-21
回 uidab 的帖子
uidab:抖动可以采用阻尼曲线。 (2016-04-21 10:01) 

好的,我试试,thks
离线hsl17

只看该作者 9楼 发表于: 2017-10-31
请问楼主,平滑转动最终有解决吗
快速回复
限100 字节
 
上一个 下一个