RangeSlider onFirstChange不存在的属性

时间:2017-01-24 07:01:01

标签: qt qml rangeslider qtquickcontrols2

我在QML中使用RangeSlider作为我的项目。我的范围滑块代码如下:

 RangeSlider {
     id: rangeSLider
     first.value:  0.0
     second.value: 1.0
     anchors.horizontalCenter: parent.horizontalCenter
     width: 275
     onFirstChanged: console.log("Change")
 }

当我运行此代码时,出现错误。错误是:

Cannot assign to non-existent property "onFirstChanged"

我想更改父QML文件中的文本。所以我认为我会使用onFirstChangeonSecondChange函数来做到这一点,但它没有用。

我该怎么做?

2 个答案:

答案 0 :(得分:3)

如需日后参考,请提供MCVE。它可以帮助其他人更轻松地帮助您。在这种情况下,我想看看我可以使用qmlscene查看的QML片段(包括显示您使用的导入,这很重要!)

假设您使用的是QtQuickControls 2's RangeSliderfirstsecond属性是不变的。这意味着这些值本身不会改变,而是这些属性的成员(例如first.value)会改变。因此,您希望将更改信号连接到first / second /实例,而不是RangeSlider本身,如下所示:

RangeSlider {
    from: 1
    to: 100
    first.value: 30
    second.value: 70

    Connections {
        target: first
        onValueChanged: console.log("first.value changed!")
    }
}

答案 1 :(得分:1)

这是 Qt 5.11(Qt QuickControls 2.4)的RangeSlider的语法:

SELECT ST_ASGEOJSON(geom) FROM <tablename> WHERE id=<myid>

来源:http://doc.qt.io/qt-5.11/qml-qtquick-controls2-rangeslider.html