Qt 在qml中更改按键上的Spinbox值
是否可以在按键时自动更改spinbox的值而不是enter?问题如下,假设我们转到输入,其中有数字1: 现在我把它改为数字10,但不要点击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
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);
}
}
}