Qt RangeSloider onFirstChange不存在属性
我正在QML中为我的项目使用Qt RangeSloider onFirstChange不存在属性,qt,qml,rangeslider,qtquickcontrols2,Qt,Qml,Rangeslider,Qtquickcontrols2,我正在QML中为我的项目使用RangeSloider。我的范围滑块代码如下所示: RangeSlider { id: rangeSLider first.value: 0.0 second.value: 1.0 anchors.horizontalCenter: parent.horizontalCenter width: 275 onFirstChanged: console.log("Change") } 当我运行这段代码时
RangeSloider
。我的范围滑块代码如下所示:
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
函数来实现这一点,但它不起作用
我如何才能做到这一点?请提供一个。它帮助别人,帮助你容易得多。在本例中,我希望看到一个可以使用qmlscene查看的QML片段(包括显示您使用的导入,这很重要!) 假设您正在使用,
first
和second
属性是常量。这意味着这些值本身不会更改,而是这些属性(例如first.value)的成员会更改。因此,您希望将更改信号连接到第一个
/第二个
/实例,而不是连接到RangeSloider本身,如下所示:
RangeSlider {
from: 1
to: 100
first.value: 30
second.value: 70
Connections {
target: first
onValueChanged: console.log("first.value changed!")
}
}
以下是Qt 5.11(Qt QuickControls 2.4)的RangeSloider的语法:
RangeSlider {
from: 0
to: 100
first.value: 25
second.value: 75
first.onValueChanged: console.debug("RangeSlider first value is " + first.value)
second.onValueChanged: console.debug("RangeSlider second value is " + second.value)
}
资料来源: