请问大家,Qt5里面自带的dialcontrol(
qml写的)例子,用滑动条控制
指针的旋转运行,过程很流畅,一点都不生硬,
部分核心代码如下:
//! [needle_shadow]
//! [needle]
Image {
id: needle
x: 98; y: 33
antialiasing: true
source: "needle.png"
transform: Rotation {
id: needleRotation
origin.x: 5; origin.y: 65
//! [needle angle]
angle: Math.min(Math.max(-130, root.value*2.6 - 130), 133)
Behavior on angle {
SpringAnimation {
spring: 1.4
damping: .15
}
} //! [needle angle]
}
}
红色
字体部分代码(Behavior on angle...SpringAnimation...)应该是其运行很流畅的关键所在,但我不知道它用C/C++是怎么实现的,一点
资料都没搜到,我也不知道怎么直接在
C++中用上它来达到同样的流畅效果。望知情大侠告知一二,十分感谢
(备注:大家如有兴趣也可以底下研究下,或者有什么建议可以在这里告诉我
贴出的工程是我目前实现的效果,
比较生硬,效果与例子相比差了不少,希望大家能在此基础上优化下达到dialcontrol例子的那种流畅度(略次也可),不甚感激)
表盘旋转(滑动条控制) painter5.zip (61 K) 下载次数:9 Qt5自带qml例子 dialcontrol.zip (104 K) 下载次数:7