首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RangeSlider onFirstChange不存在的属性

RangeSlider onFirstChange不存在的属性
EN

Stack Overflow用户
提问于 2017-01-24 07:01:01
回答 2查看 720关注 0票数 2

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

代码语言:javascript
复制
 RangeSlider {
     id: rangeSLider
     first.value:  0.0
     second.value: 1.0
     anchors.horizontalCenter: parent.horizontalCenter
     width: 275
     onFirstChanged: console.log("Change")
 }

当我运行这段代码时,我会得到一个错误。错误是:

代码语言:javascript
复制
Cannot assign to non-existent property "onFirstChanged"

我想更改父QML文件中的文本。因此,我想我应该使用onFirstChangeonSecondChange函数来完成这个任务,但是它没有起作用。

我该怎么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-24 09:15:53

供以后参考,请提供一个MCVE。它能帮助别人帮你更容易。在本例中,我希望看到一个QML片段(包括显示您使用的导入,这是很重要的!)

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

代码语言:javascript
复制
RangeSlider {
    from: 1
    to: 100
    first.value: 30
    second.value: 70

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

Stack Overflow用户

发布于 2018-07-01 09:57:34

下面是RangeSlider of Qt 5.11 (Qt QuickControls 2.4)的语法

代码语言:javascript
复制
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)
}

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41821909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档