如何在 QtControls 2.0 中为 SpinBox 设置对齐方式?
How to set alignment for SpinBox in QtControls 2.0?
我的 SpinBox 中文本的文本对齐方式默认居中。 SpinBox documentation 声明有 horizontalAlignment
属性,但是当我尝试指定水平对齐方式时,出现以下错误:
Invalid property name "horizontalAlignment". (M16)
我的完整 SpinBox 代码在这里:
SpinBox {
editable: true
horizontalAlignment: Qt.AlignLeft
from: 1
to: 10000
value: model.numberOfElements
}
我将如何在 Qt Controls 2.0 的 SpinBox 中对齐文本?
首先,您指出的文档中的 link 来自 Qt Quick Controls 1 的 SpinBox,Qt Quick Controls 2 的 link 是:https://doc.qt.io/qt-5/qml-qtquick-controls2-spinbox.html.
考虑到上面的 Qt Quick Controls 2 有一个说明如何自定义控件的文档:Customizing Qt Quick Controls 2。
在 SpinBox 的情况下,解决方案是:
import QtQuick.Controls 2.5
SpinBox {
id: control
value: 50
editable: true
contentItem: TextInput {
z: 2
text: control.textFromValue(control.value, control.locale)
font: control.font
color: "#21be2b"
selectionColor: "#21be2b"
selectedTextColor: "#ffffff"
horizontalAlignment: Qt.AlignLeft
verticalAlignment: Qt.AlignVCenter
readOnly: !control.editable
validator: control.validator
inputMethodHints: Qt.ImhFormattedNumbersOnly
}
}
我的 SpinBox 中文本的文本对齐方式默认居中。 SpinBox documentation 声明有 horizontalAlignment
属性,但是当我尝试指定水平对齐方式时,出现以下错误:
Invalid property name "horizontalAlignment". (M16)
我的完整 SpinBox 代码在这里:
SpinBox {
editable: true
horizontalAlignment: Qt.AlignLeft
from: 1
to: 10000
value: model.numberOfElements
}
我将如何在 Qt Controls 2.0 的 SpinBox 中对齐文本?
首先,您指出的文档中的 link 来自 Qt Quick Controls 1 的 SpinBox,Qt Quick Controls 2 的 link 是:https://doc.qt.io/qt-5/qml-qtquick-controls2-spinbox.html.
考虑到上面的 Qt Quick Controls 2 有一个说明如何自定义控件的文档:Customizing Qt Quick Controls 2。
在 SpinBox 的情况下,解决方案是:
import QtQuick.Controls 2.5
SpinBox {
id: control
value: 50
editable: true
contentItem: TextInput {
z: 2
text: control.textFromValue(control.value, control.locale)
font: control.font
color: "#21be2b"
selectionColor: "#21be2b"
selectedTextColor: "#ffffff"
horizontalAlignment: Qt.AlignLeft
verticalAlignment: Qt.AlignVCenter
readOnly: !control.editable
validator: control.validator
inputMethodHints: Qt.ImhFormattedNumbersOnly
}
}