Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 在qml中更改按键上的Spinbox值_Qt_Qml - Fatal编程技术网

Qt 在qml中更改按键上的Spinbox值

Qt 在qml中更改按键上的Spinbox值,qt,qml,Qt,Qml,是否可以在按键时自动更改spinbox的值而不是enter?问题如下,假设我们转到输入,其中有数字1: 现在我把它改为数字10,但不要点击enter: 现在我点击加号,它转到第二个: 当我松开焦点,或者在中单击spinbox的减号或加号时,如何自动考虑最后一个数字 这就是QtQuick.Controls 2.0所发生的情况 例如: import QtQuick 2.9 import QtQuick.Controls 2.0 ApplicationWindow { id: wind

是否可以在按键时自动更改spinbox的值而不是enter?问题如下,假设我们转到输入,其中有数字1:

现在我把它改为数字10,但不要点击
enter

现在我点击加号,它转到第二个:

当我松开焦点,或者在中单击spinbox的减号或加号时,如何自动考虑最后一个数字

这就是QtQuick.Controls 2.0所发生的情况

例如:

import QtQuick 2.9
import QtQuick.Controls 2.0

ApplicationWindow {
    id: window
    title: "Stack"
    visible: true
    height: 200
    width: 400
    Item {
        id: page
        anchors.fill: parent
        width:parent.width
        height: parent.height
            Column{
                width:parent.width
                spacing:10
                SpinBox {
                    id: spinBox1


      width: 100
                height: 30
                stepSize: 1
                editable: true
            }
        }
}

}

您可以使用SpinBox的属性“contentItem”并添加TextInput。
TextInput具有信号处理程序“onTextChanged”


你好你有任何代码来复制一个例子吗?您可以使用
spinBox.currentValue
当它被更改时,或者如果您的spinBox值不是太高,您可以始终禁用输入,以便用户只能使用加号/减号?(取决于使用情况)如果您发布一个小的代码示例,我们可以运行它,您可以给出答案!:)是的@Ldweller我从一个小的可行的spinbox示例中获取了这个,但这是默认spinbox的工作方式,我只需要检查它是哪个版本的控件。嗨@Nmaster88我仍在努力为您找到解决方案,我现在已经删除了我的答案,希望能尽快为您发布一个工作修复!非常感谢你@Ldweller,我一直在努力寻找解决方案,但我在这方面的技能仍然不多这似乎很有效:P,但它松开了默认spinbox的蓝色焦点,有办法得到它吗?
SpinBox {
            id: spinbox
            value: 10
            editable: true
            contentItem: TextInput {
                text: spinbox.textFromValue(spinbox.value, spinbox.locale)
                font: spinbox.font
                horizontalAlignment: Qt.AlignHCenter
                verticalAlignment: Qt.AlignVCenter
                readOnly: !spinbox.editable
                validator: spinbox.validator
                inputMethodHints: Qt.ImhFormattedNumbersOnly
                onTextChanged: {
                   spinbox.value =  parseInt(text);
                }
            }
        }