StupidBeauty
Read times:5499Posted at:Mon Aug 31 07:25:21 2020 - no title specified

Qt 5.15开发文档翻译:SpinBox QML类型,SpinBox QML Type

允许用户在一组预设的值中做出选择。 详细说明……

导入语句:

import QtQuick.Controls 2.15

自此版本开始引入:

Qt 5.7

继承:

Control

详细说明

SpinBox,可让用户选择一个整数值,具体的操作就是,点击向上或向下按钮,也可以按下键盘上的向上或向下键。还有另一种操作方式,可以让SpinBox变成 可编辑的 ,这样的话,用户可在输入框中直接输入一个值。

默认情况下,SpinBox提供[0-99]范围内的离散值,单次调整的大小(stepSize)是1

SpinBox {

value: 50

}

自定义值

尽管SpinBox的真实值都是整数值,但是,我们仍然可以对它进行自定义,使得它接受任意形式的输入值。以下代码片断,展示了,如何使用 validator textFromValue valueFromText 来对默认行为进行自定义。

SpinBox {

from: 0

to: items.length - 1

value: 1 // "Medium"

property var items: ["Small", "Medium", "Large"]

validator: RegExpValidator {

regExp: new RegExp("(Small|Medium|Large)", "i")

}

textFromValue: function(value) {

return items[value];

}

valueFromText: function(text) {

for (var i = 0; i < items.length; ++i) {

if (items[i].toLowerCase().indexOf(text.toLowerCase()) === 0)

return i

}

return sb.value

}

}

利用类似的手段,可以对SpinBox进行自定义,让它支持浮点数的输入值:

SpinBox {

id: spinbox

from: 0

value: 110

to: 100 * 100

stepSize: 100

anchors.centerIn: parent

property int decimals: 2

property real realValue: value / 100

validator: DoubleValidator {

bottom: Math.min(spinbox.from, spinbox.to)

top:  Math.max(spinbox.from, spinbox.to)

}

textFromValue: function(value, locale) {

return Number(value / 100).toLocaleString(locale, 'f', spinbox.decimals)

}

valueFromText: function(text, locale) {

return Number.fromLocaleString(locale, text) * 100

}

}

参考 Tumbler 自定义SpinBox Qt Quick Controls 中的焦点管理

属性文档

[只读] displayText : string

此属性,保存的是,本个旋转框的文本值。

这个属性的值,是基于 textFromValue locale 计算出来的,它等价于:

var text = spinBox.textFromValue(spinBox.value, spinBox.locale)

这个属性是从QtQuick.Controls 2.4 (Qt 5.11)开始引入的。

参考 textFromValue

down

down.hovered : bool

down.implicitIndicatorHeight : real

down.implicitIndicatorWidth : real

down.indicator : Item

down.pressed : bool

这些属性,保存的是,向下按钮元素,以及,该元素是否已被按下,是否已被悬停。down.hovered属性是从QtQuick.Controls 2.1开始引入的,down.implicitIndicatorWidthdown.implicitIndicatorHeight属性是从QtQuick.Controls 2.5开始引入的。

参考 decrease()

editable : bool

这个属性,保存的是,这个旋转框可不可以被编辑。默认值是false

参考 validator

from : int

这个属性,保存的是,所支持的范围的起始值。默认值是0

参考 to value

[只读] inputMethodComposing : bool

这个属性,保存的是,某个可编辑的旋转框,当前是否处于输入法提交部分文字输入内容的状态。

当输入法处于拼写状态时,可能需要由旋转框中的鼠标或键盘事件来触发对当前部分输入状态的文字进行编辑或提交。利用这个属性,可用来确定,要在什么时候禁用事件处理函数,以避免与输入法的行为冲突。

此属性是从QtQuick.Controls 2.2 (Qt 5.9)开始引入的。

inputMethodHints : flags

这个属性,保存的是,向输入法提供的提示信息,具体包括,旋转框中期望被输入的内容,以及,输入法本身该如何动作。

默认值是Qt.ImhDigitsOnly

这个值,是各个标志值按位组合的结果,如果未设置任何提示,则其值是Qt.ImhNone

以下标志位会影响输入法的行为:

  • •.Qt.ImhHiddenText - 输入的字符应当被隐藏起来,比如说输入密码时就是如此。

  • •.Qt.ImhSensitiveData - 输入法不应当将输入的内容保存在任何的持久存储中,比如说用于预测输入内容的用户词典中。

  • •.Qt.ImhNoAutoUppercase - 输入法不应当在一句话输入完毕之后自动切换到大写模式。

  • •.Qt.ImhPreferNumbers - 优先输入数字(但不强制要求)。

  • •.Qt.ImhPreferUppercase - 优先输入大写字母(但不强制要求)。

  • •.Qt.ImhPreferLowercase - 优先输入小写字母(但不强制要求)。

  • •.Qt.ImhNoPredictiveText - 不要在输入过程中启用预测文字(也就是,查询词典)。

  • •.Qt.ImhDate - 此文本编辑器是一个日期输入框。

  • •.Qt.ImhTime - 此文本编辑器是一个时间输入框。

以下标志位会限制输入内容(独占性地限制):

  • •.Qt.ImhDigitsOnly - 只允许输入数字。

  • •.Qt.ImhFormattedNumbersOnly - 只允许输入数值。包括小数点和负号。

  • •.Qt.ImhUppercaseOnly - 只允许输入大写字母。

  • •.Qt.ImhLowercaseOnly - 只允许输入小写字母。

  • •.Qt.ImhDialableCharactersOnly - 只允许输入电话号码。

  • •.Qt.ImhEmailCharactersOnly - 只允许输入邮箱地址。

  • •.Qt.ImhUrlCharactersOnly - 只允许输入网址。

掩码:

  • •.Qt.ImhExclusiveInputMask - 如果设置了任何一个独占式标志位,那么,此掩码将给出非零的值。

此属性是从QtQuick.Controls 2.2 (Qt 5.9)开始引入的。

stepSize : int

这个属性,保存的是,单次调整的值。默认值是1

参考 increase() decrease()

textFromValue : function

这个属性,保存的是,一个回调函数。每当有一个整数值需要被转换成显示文字时,就会调用这个回调函数。

可以覆盖默认的函数,以便针对特定的值显示出自定义的文字内容。对于可编辑和不可编辑的旋转框都是如此;例如,使用向上和向上按钮,或者是鼠标滚轮,来增加和减少当前值时,新的值都会通过这个函数被转换成显示文字。

这个回调函数的特征形式是string function(value, locale)。这个函数可以接受一个或两个参数,第一个参数就是需要被转换的值,可选的第二个参数,在适用的时候会被传入,是要用来进行转换的语系对象。

默认实现中,会使用Number.toLocaleString()来进行转换:

textFromValue: function(value, locale) { return Number(value).toLocaleString(locale, 'f', 0); }

注意:如果在可编辑的旋转框上使用自定义的textFromValue实现,那么,还需要提供一个对应的 valueFromText 实现,用于将自定义的文字内容转换回整数值。

参考 valueFromText validator locale

to : int

这个属性,保存的是,取值范围的结束值。默认值是99

参考 from value

up

up.hovered : bool

up.implicitIndicatorHeight : real

up.implicitIndicatorWidth : real

up.indicator : Item

up.pressed : bool

这些属性,保存的是,向上调整的按钮元素,以及,该按钮是否处于按下状态和悬停状态。up.hovered属性是从QtQuick.Controls 2.1开始引入的,up.implicitIndicatorWidthup.implicitIndicatorHeight属性是从QtQuick.Controls 2.5开始引入的。

参考 increase()

validator : Validator

这个属性,保存的是,针对可编辑的旋转框提供的输入文字验证器。默认情况下, SpinBox 使用IntValidator来接受针对整数数字的输入内容。

SpinBox {

id: control

validator: IntValidator {

locale: control.locale.name

bottom: Math.min(control.from, control.to)

top: Math.max(control.from, control.to)

}

}

参考 editable textFromValue valueFromText locale

value : int

这个属性,保存的是,处于 from - to范围内的当前值。默认值是0

valueFromText : function

这个属性,保存的是,一个回调函数,每当有输入文字需要被转换成整数值时,就会调用这个回调函数。

只有当开发者针对一个可编辑的旋转框覆盖了其textFromValue 函数时,才需要对应地覆盖掉本函数。

这个回调函数的特征形式是int function(text, locale)。这个函数可接受一个或两个参数,第一个参数是需要被转换的文字内容,第二个参数是可选的,在适用的情况下会被传入,表示的是要用于转换过程的语系对象。

默认实现中会使用Number.fromLocaleString()来完成转换:

valueFromText: function(text, locale) { return Number.fromLocaleString(locale, text); }

注意:如果在可编辑的旋转框上使用自定义的 textFromValue 实现,那么,还需要提供一个对应的 valueFromText实现,用于将自定义的文字内容转换回整数值。

参考 textFromValue validator locale

wrap : bool

这个属性,保存的是,本个旋转框要不要循环。默认值是false

如果循环值是true,那么,在值为 to 时再向上调整,会导致值变成 from ,反过来也一样。

这个属性是从QtQuick.Controls 2.3 (Qt 5.10)开始引入的。

信号文档

valueModified()

每当放置框的值被用户通过交互方式修改时,会发射这个信号。交互方式包括:触摸、鼠标、滚轮和键盘。

注意:对应的处理器函数是onValueModified

这个信号是从QtQuick.Controls 2.2 (Qt 5.9)开始引入的。

方法文档

void decrease()

将值减少 stepSize 那么大的大小,如果未定义 stepSize ,则将值减少1

参考 stepSize

void increase()

将值增加 stepSize 那么大的大小,如果未定义 stepSize ,则将值增加1

参考 stepSize

坚果

关于请协助暂折有关防控保障物资的函, .

文件预览

洒生息涟和大泣昌次类|计计痢全各攀资全名强|

关于请协助拍扣有关防控保障物资的函

青坟海英:

根据市委市政府和市指挥部部署要求,我市委托国药集

珊青岛公司等发挥业内资源优势,采取市场化方式集中协动

政府集中采购防熔保障物资。根握委本企业反馈情况,前期

协助我市从韩国采购的 10 万只 N94 口音已被沈阳海关查扣,

另有一批 15 万只 N95 日本日香也在沈阳诲关辆射范国.

近日获知,沈阳市委托企业现有一批从昌国采购的医用

蝇单等防护物资,将搭乘 2 月4日,S 日从韩国到青锅飞机

和从韩国到威海的飞机、轮般过关入境, 根据市指挥部要求,

更请贵关痕据有关企业报备信息暂和其防护物资,市物资保

障组将按照对等原风处置相关物资,

【联系人:拱仁赤,起话; 8&5911357)

国际象棋

Your opinions
Your name:Email:Website url:Opinion content:
- no title specified

HxLauncher: Launch Android applications by voice commands