Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
QML滑块实现中的问题。滑块向前拖动时向后跳跃_Qml_Qt5_Qtquick2_Qtquickcontrols - Fatal编程技术网

QML滑块实现中的问题。滑块向前拖动时向后跳跃

QML滑块实现中的问题。滑块向前拖动时向后跳跃,qml,qt5,qtquick2,qtquickcontrols,Qml,Qt5,Qtquick2,Qtquickcontrols,我已经在QML中为mediaplayer应用程序创建了一个滑块。滑块的值属性由背景中的线程更新。我的问题是,当拖动滑块进行搜索时,即使已完成搜索操作并且通过拖动更新了滑块的新值,当释放鼠标时,控制柄在到达新位置之前会跳到其以前的位置。我使用下面的代码创建了滑块 Slider { id: sliderHorizontal x: 145 y: 478 visible: false activeFocusOnPress:true maximumValu

我已经在QML中为mediaplayer应用程序创建了一个滑块。滑块的值属性由背景中的线程更新。我的问题是,当拖动滑块进行搜索时,即使已完成搜索操作并且通过拖动更新了滑块的新值,当释放鼠标时,控制柄在到达新位置之前会跳到其以前的位置。我使用下面的代码创建了滑块

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++