Как отловить Spinbox событие изменения значения в QML?
Subj Я показываю свои данные в QML' Listview с делегированным текстом, метками и элементами spinboxvalue элемента. Когда пользователь меняет значение spinbox, мне нужно знать его и заключать сделки. Но MouseArea работает за пределами Spinbox, а не на вращающихся кнопках, событие onClicked не существует.
SpinBox {
id: goodsCountSpinBox
leftPadding: 1
rightPadding: 1
value: model.goodsCount
implicitWidth: 100
anchors.right: dataRow.right
MouseArea {
anchors.fill: parent
onClicked: {
listView.currentIndex = index; //Change the current selected item to the clicked item
console.log("SpinBox::MouseArea::onClicked")
}
}
Кстати, а как вывести текущую дату и время в консольный журнал?
Я нашел onValueChanged в примерах, но не нахожу его в руководствах по QML.
SpinBox {
id: fontSizeSpinBox
activeFocusOnPress: false
implicitWidth: 50
value: 0
property bool valueGuard: true
onValueChanged: if (valueGuard) document.fontSize = value
}
Я нашел для печати текущую метку времени
Qt.formatTime(new Date()
1 ответ
Решение
Если вы хотите просто использовать текущее значение spinbox, просто используйте его value
собственность в привязке.
Если вы хотите реагировать на изменение значения, используйте обработчик для сигнала изменения свойства, т.е. onValueChanged
,