Как отловить 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,

Другие вопросы по тегам