- class QDoubleSpinBox#
QDoubleSpinBox 类提供了一个用于接受双精度数字的微调框小控件。...
摘要#
属性#
方法#
def
__init__()
def
cleanText()
def
decimals()
def
maximum()
def
minimum()
def
prefix()
def
setDecimals()
def
setMaximum()
def
setMinimum()
def
setPrefix()
def
setRange()
def
setSingleStep()
def
setStepType()
def
setSuffix()
def
singleStep()
def
stepType()
def
suffix()
def
value()
虚函数#
def
textFromValue()
def
valueFromText()
槽#
定义
setValue()
信号#
注意
这份文档可能包含了一些从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#
此属性包含除去任何前缀、后缀或前置和后置空格外的滚动框文本。
- 访问函数
- 属性 decimalsᅟ: int#
该属性保存了计数框的精度,即小数位数。
设置计数框在显示和解析双精度浮点数时使用的十进制位数。
警告
由于双精度类型的限制,
decimals
的最大值为DBL_MAX_10_EXP + DBL_DIG(即323)。注意:更改此属性可能会导致最大值、最小值和值发生变化。
- 访问函数
- 属性 maximumᅟ: float#
该属性保存了计数框的最大值。
在设置此属性时,如果需要,将调整
minimum
,以确保范围始终有效。默认最大值为99.99。
注意:最大值将被四舍五入以匹配十进制属性。
另请参阅
- 访问函数
- 属性 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()
信号。值属性还有一个信号,该信号包括微调框的前缀和后缀。注意:值将被四舍五入以便可以按当前的小数位数设置显示。
另请参阅
- 访问函数
创建一个以0.0为最小值、99.99为最大值、步长值为1.0和2位小数精度的微调框。初始值设置为0.00。微调框具有指定的
parent
。- cleanText()#
- 返回类型:
str
属性getter
cleanTextᅟ
.- decimals()#
- 返回类型:
int
另请参阅
属性getter
decimalsᅟ
.- maximum()#
- 返回类型:
float
另请参阅
属性getter
maximumᅟ
.- minimum()#
- 返回类型:
float
另请参阅
属性getter
minimumᅟ
.- prefix()#
- 返回类型:
str
另请参阅
属性getter
prefixᅟ
.- setDecimals(prec)#
- 参数:
prec – int
另请参阅
属性setter
decimalsᅟ
.属性
maximum
的设置器。属性
minimum
的设置器。属性
prefix
的设置器。- setRange(min, max)#
- 参数:
min – float
max – float
警告
此部分包含自动从C++翻译到Python的代码片段,可能包含错误。
一个方便的函数,用于通过单个函数调用设置最小和最大值。
注意:最大值和最小值将会四舍五入到小数位上。
setRange(minimum, maximum)
相当于
- setSingleStep(val)#
- 参数:
val – float
另请参阅
属性
singleStep
的设置器。将单行输入框的步骤类型设置为
stepType
,可以是单步或自适应小数步骤。自适应小数步骤意味着步长将会持续调整到当前
value
以下的一幂次十。所以当值为 1100 时,步长设置为 100,所以单步增加会将其增加至 1200。对于值为 1200 的步长,单步增加会将其增加到 1300。对于负值,从 -1100 减少到 -1200。这也适用于任何十进制值,0.041 通过单步增加到 0.042。
在处理边缘情况时考虑了步进方向,因此从100向下步进将值设置为99而不是90。因此,先向上步进再向下步进(或反之)总是落在起始值上;99 -> 100 -> 99。
设置此项将导致旋转框忽略
singleStep
的值,尽管它被保留,以便在稍后关闭自适应小数步进时singleStep
生效。另请参阅
stepType
属性的设置器。suffix
属性的设置器。value
属性的设置器。- singleStep()#
- 返回类型:
float
另请参阅
singleStep
属性的获取器。- stepType()#
- 返回类型:
另请参阅
stepType
属性的获取器。- suffix()#
- 返回类型:
str
另请参阅
suffix
属性的获取器。- textChanged(arg__1)#
- 参数:
arg__1 - 字符串
每当旋转框的文本发生变化时,都会发出此信号。新文本以
text
的形式通过prefix
和suffix
传入。- textFromValue(val)#
- 参数:
val – float
- 返回类型:
str
此虚函数由滚动框在需要显示给定的
value
时使用。默认实现返回一个字符串,包含用locale()
.toString(value
,u'f'
,decimals()
) 打印的value
,并且会删除千位分隔符,除非设置了setGroupSeparatorShown()
。重写可能会返回任何东西。注意:
QDoubleSpinBox
不会为specialValueText()
调用此函数,并且不应该在返回值中包含prefix()
或suffix()
。如果你重写此方法,你也可能需要重写
valueFromText()
。- value()#
- 返回类型:
float
另请参阅
属性
valueᅟ
的获取器。- valueChanged(arg__1)#
- 参数:
arg__1 - float
每当滚动框的值改变时,都会发射此信号。新值通过
d
传入。属性
valueᅟ
的通知信号。- valueFromText(text)#
- 参数:
text - str
- 返回类型:
float
该虚函数由滚动框在需要将用户输入的
text
解释为值时使用。子类如果需要非数字方式展示滚动框值,必须重写此函数。
注意:
QDoubleSpinBox
会单独处理specialValueText()
;此函数只关注其他值。另请参阅
textFromValue()
validate()