class QDoubleSpinBox#

QDoubleSpinBox 类提供了一个用于接受双精度数字的微调框小控件。...

Inheritance diagram of PySide6.QtWidgets.QDoubleSpinBox

摘要#

属性#

  • cleanText - 微调控件文本,不包括任何前缀、后缀或前后空白

  • decimals - 微调控件的精度,以小数位计

  • maximum - 微调控件的最大值

  • minimum - 微调控件的最小值

  • prefix - 微调控件的前缀

  • singleStep - 步长值

  • stepType - 步长类型

  • suffix - 滑动条的文本后缀

  • value - 滑动条的价值

方法#

虚函数#

#

信号#

注意

这份文档可能包含了一些从C++自动翻译到Python的代码片段。我们始终欢迎各位对代码片段的翻译做出贡献。如果您在翻译中发现问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单的方式来通知我们。

详细描述#

QDoubleSpinBox 允许用户通过点击上下按钮或按键盘上的上箭头和下箭头键来增加或减少当前显示的值。用户还可以手动输入值。这个小部件支持双精度值,并通过 validate()textFromValue()valueFromText() 方法扩展到使用不同的字符串。

每次值更改时, QDoubleSpinBox 都会发射 valueChanged()textChanged() 信号,前者提供一个双精度数字,后者提供一个 QString。 textChanged() 信号提供了带有 prefix()suffix() 的价值。可以通过 value() 获取当前值,并通过 setValue() 设置值。

注意:QDoubleSpinBox 将对数字进行四舍五入,以便可以以当前精度显示。在一个小数设置为2的 QDoubleSpinBox 中,调用 setValue (2.555) 将导致 value() 返回2.56。

点击上下按钮或使用键盘加速键的上下箭头将按 singleStep() 的大小步长增加或减少当前值。如果要更改此行为,可以重写虚拟函数 stepBy() 。最小值、最大值和步长可以通过构造函数之一设置,并且可以使用 setMinimum()setMaximum()setSingleStep() 在之后更改。Spinbox 具有默认的两位小数精度,但可以使用 setDecimals() 进行更改。

大多数 Spinbox 是有方向的,但 QDoubleSpinBox 也可以作为一个圆形 Spinbox 运行,即如果范围是 0.0-99.9 并且当前值是 99.9,则如果将 wrapping() 设置为 true,则点击“up”将给出 0。如果您想要圆形行为,请使用 setWrapping()

显示的值可以添加和前缀以及后缀任意字符串,用以表示,例如货币或计量的单位。请参阅 setPrefix()setSuffix() 。可以使用 text() (包括任何 prefix()suffix() )获取滚动框中的文本,或者用 cleanText() (该操作将没有 prefix() ,没有 suffix() 和没有前置或后置空格)。

通常,除了数字范围的选项外,还需要给用户一个特殊的(常常是默认的)选择。请参阅 setSpecialValueText(),了解如何使用 QDoubleSpinBox 进行此操作。

注意

QDoubleSpinBox 的显示值,除了可能的(prefix)前缀和(suffix)后缀内容外,限制在 18 个字符以内。这种限制在处理极大的值时可以保持双数值滚动框的可用性。

注意

当使用 from __feature__ import true_property 时可以直接使用属性,否则可以通过访问函数使用。

property cleanTextᅟ: str#

此属性包含除去任何前缀、后缀或前置和后置空格外的滚动框文本。

另请参阅

text prefix suffix

访问函数
属性 decimalsᅟ: int#

该属性保存了计数框的精度,即小数位数。

设置计数框在显示和解析双精度浮点数时使用的十进制位数。

警告

由于双精度类型的限制,decimals的最大值为DBL_MAX_10_EXP + DBL_DIG(即323)。

注意:更改此属性可能会导致最大值、最小值和值发生变化。

访问函数
属性 maximumᅟ: float#

该属性保存了计数框的最大值。

在设置此属性时,如果需要,将调整minimum,以确保范围始终有效。

默认最大值为99.99。

注意:最大值将被四舍五入以匹配十进制属性。

另请参阅

decimals setRange()

访问函数
属性 minimumᅟ: float#

该属性保存了计数框的最小值。

在设置此属性时,如果需要,将调整maximum,以确保范围始终有效。

默认最小值为0.0。

注意:最小值将被四舍五入以匹配十进制属性。

访问函数
属性 prefixᅟ: str#

警告

此部分包含自动从C++翻译到Python的代码片段,可能包含错误。

该属性保存了计数框的前缀。

前缀添加到显示值的开始部分。典型用途是显示单位或货币符号。例如

spinbox.setPrefix("$")

要关闭前缀显示,请将此属性设置为空字符串。默认没有前缀。当value() == minimum()并且specialValueText()已设置时,不显示前缀。

如果没有设置前缀,prefix()方法将返回空字符串。

访问函数
属性singleStep: 浮点数#

此属性存储步进值。

当用户使用箭头改变微调框的值时,值将增加/减少singleStep的量。默认值为1.0。设置小于0的singleStep值将没有任何作用。

访问函数
属性stepType: QAbstractSpinBox.StepType#

此属性存储步进类型。

步进类型可以是单步或自适应小数步进。

访问函数
属性suffix: 字符串#

警告

此部分包含自动从C++翻译到Python的代码片段,可能包含错误。

此属性存储微调框的后缀。

后缀将被添加到显示值的末尾。典型用途是显示测量单位或货币符号。例如

spinbox.setSuffix(" km")

要关闭后缀显示,将此属性设置为空字符串。默认情况下没有后缀。如果设置了specialValueText(),将不会显示minimum()的后缀。

如果没有设置后缀,suffix()将返回空字符串。

访问函数
属性value: 浮点数#

此属性存储微调框的值。

当新值与旧值不同时,setValue()将会发出valueChanged()信号。值属性还有一个信号,该信号包括微调框的前缀和后缀。

注意:值将被四舍五入以便可以按当前的小数位数设置显示。

另请参阅

小数位

访问函数
__init__([parent=None])#
参数:

parentQWidget

创建一个以0.0为最小值、99.99为最大值、步长值为1.0和2位小数精度的微调框。初始值设置为0.00。微调框具有指定的parent

cleanText()#
返回类型:

str

属性getter cleanTextᅟ .

decimals()#
返回类型:

int

另请参阅

setDecimals()

属性getter decimalsᅟ .

maximum()#
返回类型:

float

另请参阅

setMaximum()

属性getter maximumᅟ .

minimum()#
返回类型:

float

另请参阅

setMinimum()

属性getter minimumᅟ .

prefix()#
返回类型:

str

另请参阅

setPrefix()

属性getter prefixᅟ .

setDecimals(prec)#
参数:

prec – int

另请参阅

decimals()

属性setter decimalsᅟ .

setMaximum(max)#
参数:

max – float

另请参阅

maximum()

属性 maximum 的设置器。

setMinimum(min)#
参数:

min – float

另请参阅

minimum()

属性 minimum 的设置器。

setPrefix(prefix)#
参数:

prefix – str

另请参阅

prefix()

属性 prefix 的设置器。

setRange(min, max)#
参数:
  • min – float

  • max – float

警告

此部分包含自动从C++翻译到Python的代码片段,可能包含错误。

一个方便的函数,用于通过单个函数调用设置最小和最大值。

注意:最大值和最小值将会四舍五入到小数位上。

setRange(minimum, maximum)

相当于

setMinimum(minimum)
setMaximum(maximum)

另请参阅

minimum maximum

setSingleStep(val)#
参数:

val – float

另请参阅

singleStep()

属性 singleStep 的设置器。

setStepType(stepType)#
参数:

stepTypeStepType

将单行输入框的步骤类型设置为 stepType,可以是单步或自适应小数步骤。

自适应小数步骤意味着步长将会持续调整到当前 value 以下的一幂次十。所以当值为 1100 时,步长设置为 100,所以单步增加会将其增加至 1200。对于值为 1200 的步长,单步增加会将其增加到 1300。对于负值,从 -1100 减少到 -1200。

这也适用于任何十进制值,0.041 通过单步增加到 0.042。

在处理边缘情况时考虑了步进方向,因此从100向下步进将值设置为99而不是90。因此,先向上步进再向下步进(或反之)总是落在起始值上;99 -> 100 -> 99。

设置此项将导致旋转框忽略singleStep 的值,尽管它被保留,以便在稍后关闭自适应小数步进时singleStep 生效。

另请参阅

stepType()

stepType 属性的设置器。

setSuffix(suffix)#
参数:

suffix - 字符串

另请参阅

suffix()

suffix 属性的设置器。

setValue(val)#
参数:

val – float

另请参阅

value()

value 属性的设置器。

singleStep()#
返回类型:

float

另请参阅

setSingleStep()

singleStep 属性的获取器。

stepType()#
返回类型:

StepType

另请参阅

setStepType()

stepType 属性的获取器。

suffix()#
返回类型:

str

另请参阅

setSuffix()

suffix 属性的获取器。

textChanged(arg__1)#
参数:

arg__1 - 字符串

每当旋转框的文本发生变化时,都会发出此信号。新文本以 text 的形式通过 prefixsuffix 传入。

textFromValue(val)#
参数:

val – float

返回类型:

str

此虚函数由滚动框在需要显示给定的 value 时使用。默认实现返回一个字符串,包含用 locale() .toString(value, u'f', decimals()) 打印的 value,并且会删除千位分隔符,除非设置了 setGroupSeparatorShown()。重写可能会返回任何东西。

注意:QDoubleSpinBox 不会为 specialValueText() 调用此函数,并且不应该在返回值中包含 prefix()suffix()

如果你重写此方法,你也可能需要重写 valueFromText()

value()#
返回类型:

float

另请参阅

setValue()

属性 valueᅟ 的获取器。

valueChanged(arg__1)#
参数:

arg__1 - float

每当滚动框的值改变时,都会发射此信号。新值通过 d 传入。

属性 valueᅟ 的通知信号。

valueFromText(text)#
参数:

text - str

返回类型:

float

该虚函数由滚动框在需要将用户输入的 text 解释为值时使用。

子类如果需要非数字方式展示滚动框值,必须重写此函数。

注意:QDoubleSpinBox 会单独处理 specialValueText();此函数只关注其他值。

另请参阅

textFromValue() validate()