如何在QML中捕获Spinbox事件的变化值?

时间:2016-11-19 11:06:35

标签: qt events qml qtquick2 qtquickcontrols

SUBJ 我在QML上显示我的数据'列表视图包含项目的委托文本,标签和spinboxvalue元素。当用户更改spinbox的值时,我需要知道它并进行一些交易。但MouseArea在Spinbox之外工作,而不是在旋转按钮上,onClicked事件不存在。

var promise = funcs[0](input);
for (var i = 1; i < funcs.length; i++) promise = promise.then(funcs[i]);

顺便说一下,如何在控制台日志中输出当前日期时间?

我在示例中找到了onValueChanged但我在QML手册中找不到它。

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")
                        }
                    }

我发现打印当前时间戳

  SpinBox {
            id: fontSizeSpinBox
            activeFocusOnPress: false
            implicitWidth: 50
            value: 0
            property bool valueGuard: true
            onValueChanged: if (valueGuard) document.fontSize = value
        }

1 个答案:

答案 0 :(得分:0)

如果您只想使用spinbox的当前值,只需在绑定中使用其value属性。

如果您想对值更改作出反应,请使用属性更改信号的处理程序,即onValueChanged