我在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文件中的文本。所以我认为我会使用onFirstChange
和onSecondChange
函数来做到这一点,但它没有用。
我该怎么做?
答案 0 :(得分:3)
如需日后参考,请提供MCVE。它可以帮助其他人更轻松地帮助您。在这种情况下,我想看看我可以使用qmlscene查看的QML片段(包括显示您使用的导入,这很重要!)
假设您使用的是QtQuickControls 2's RangeSlider,first
和second
属性是不变的。这意味着这些值本身不会改变,而是这些属性的成员(例如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