2017-01-24 13 views
0

Я использую RangeSlider для моего проекта в QML. Мой диапазон ползунков следующий:RangeSlider onFirstChange несуществующий объект

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, но это не сработало.

Как я могу это сделать?

ответ

2

Для дальнейшего использования просьба указать MCVE. Это помогает другим людям помочь вам намного легче. В этом случае, я хотел бы видеть фрагмент QML я мог смотреть на использование qmlscene (в том числе показывая, что импортирует вы используете, это очень важно!)

Предполагая, что вы используете QtQuickControls 2's RangeSlider, The 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!") 
    } 
}