QML滑块实现中的问题。滑块向前拖动时向后跳跃
我已经在QML中为mediaplayer应用程序创建了一个滑块。滑块的值属性由背景中的线程更新。我的问题是,当拖动滑块进行搜索时,即使已完成搜索操作并且通过拖动更新了滑块的新值,当释放鼠标时,控制柄在到达新位置之前会跳到其以前的位置。我使用下面的代码创建了滑块QML滑块实现中的问题。滑块向前拖动时向后跳跃,qml,qt5,qtquick2,qtquickcontrols,Qml,Qt5,Qtquick2,Qtquickcontrols,我已经在QML中为mediaplayer应用程序创建了一个滑块。滑块的值属性由背景中的线程更新。我的问题是,当拖动滑块进行搜索时,即使已完成搜索操作并且通过拖动更新了滑块的新值,当释放鼠标时,控制柄在到达新位置之前会跳到其以前的位置。我使用下面的代码创建了滑块 Slider { id: sliderHorizontal x: 145 y: 478 visible: false activeFocusOnPress:true maximumValu
Slider {
id: sliderHorizontal
x: 145
y: 478
visible: false
activeFocusOnPress:true
maximumValue: 100.0
minimumValue: 0.0
updateValueWhileDragging :true
value: Media.SliderValue
onValueChanged: {
//seek to the new value calling a c++ function
}
}
即使更新值的后台线程也在更新到新位置,有人能猜出滑块为什么会返回吗?您应该提供最简单的代码,这里没有“猜测”功能。不要使用绝对定位,而是使用锚定/布局。至于具体代码:您在
onValueChanged
中做什么?通常,在其onChanged
处理程序中更新属性的值没有多大意义(假设您正在这样做)。谢谢您的建议。在处理程序中,我调用一个添加为Q_INVOKABLE的方法来执行seek操作。方法调用成功,播放确实进行。唯一的事情是滑块在到达新位置之前到达前一个位置,听起来好像你在C++和QML之间。但我只是在这里猜测。是的……QML方面非常糟糕。所有动作都是C++