class QAbstractSpinBox#

QAbstractSpinBox 类提供了一个微调框和一个行编辑来显示值。 更多

Inheritance diagram of PySide6.QtWidgets.QAbstractSpinBox

继承于: QSpinBox, QDoubleSpinBox, QDateTimeEdit, QTimeEdit, QDateEdit

概要#

属性#

方法#

虚函数#

槽函数#

信号

注意

本文档可能包含了自动从C++转换到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译有问题,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建工单来告诉我们。

详细描述#

该类被设计为如 QSpinBoxQDoubleSpinBoxQDateTimeEdit 等小部件的通用超类。

以下是该类的主体属性

  1. text : 在 QAbstractSpinBox 中显示的文本。

  2. alignment : QAbstractSpinBox 中文本的对齐方式。

  3. wrapping : QAbstractSpinBox 是否从最小值到最大值再返回,反之亦然。

QAbstractSpinBox 提供了一个虚拟的 stepBy() 函数,该函数在用户触发步进操作时被调用。该函数接收一个整数值,表示企业进行了多少步。例如,按 Qt::Key_Down 将触发对 stepBy (-1) 的调用。

当用户按住 Qt::ControlModifier 触发步进操作时,QAbstractSpinBox 将通过10而不是进行单步来步进。此步进修饰符会影响鼠标滚轮事件、按键事件以及与微调框按钮的交互。注意,在 macOS 上,控制键对应于命令键。

从 Qt 5.12 开始,可以使用 SH_SpinBox_StepModifier 来选择哪个 Qt::KeyboardModifier 增加步进速率。Qt::NoModifier 禁用此功能。

QAbstractSpinBox 还提供一个虚拟函数 stepEnabled() 来确定在任何时刻是否允许上下步进。此函数返回一个 StepEnabled 的bitset。

class StepEnabledFlag#

常量

描述

QAbstractSpinBox.StepNone

QAbstractSpinBox.StepUpEnabled

QAbstractSpinBox.StepDownEnabled

class ButtonSymbols#

此枚举类型描述了可以在微调框按钮上显示的符号。

qspinbox-updown1 qspinbox-plusminus2

常量

描述

QAbstractSpinBox.UpDownArrows

经典风格的箭头。

QAbstractSpinBox.PlusMinus

+- 符号。

QAbstractSpinBox.NoButtons

不显示按钮。

另请参见

buttonSymbols

class CorrectionMode#

此枚举类型描述了微调框完成编辑后如何校正中间值的模式。

常量

描述

QAbstractSpinBox.CorrectToPreviousValue

微调框将回滚到最后一个有效值。

QAbstractSpinBox.CorrectToNearestValue

微调框将回滚到最接近的有效值。

另请参见

correctionMode

class StepType#

常量

描述

QAbstractSpinBox.DefaultStepType

QAbstractSpinBox.AdaptiveDecimalStepType

注意

from__feature__import true_property 被使用时,可以直接使用属性,否则通过访问函数使用。

property accelerated: bool#

此属性表示微调框将加速步进按钮按下时的步进频率。

启用后,微调框将在按钮按下时间越长时值增加/减少得越快。

访问函数
property acceptableInput: bool#

此属性记录输入是否满足当前的验证。

访问函数
属性alignment Qt.AlignmentFlag 的组合#

此属性保存旋转框的对齐方式。

可能的值有 Qt::AlignLeft、Qt::AlignRight 和 Qt::AlignHCenter。

默认情况下,对齐方式为 Qt::AlignLeft

尝试将对齐方式设置为非法标志组合将没有任何效果。

另请参见

对齐

访问函数
属性buttonSymbols QAbstractSpinBox.ButtonSymbols#

此属性保存当前的按钮符号模式。

可能的值可以是 UpDownArrowsPlusMinus。默认为 UpDownArrows

请注意,某些样式可能会将 PlusMinusUpDownArrows 显示为相同。

另请参见

ButtonSymbols

访问函数
属性correctionMode QAbstractSpinBox.CorrectionMode#

此属性保存调整中间值的模式,如果编辑结束。

默认模式是 CorrectToPreviousValue

另请参见

acceptableInput validate() fixup()

访问函数
属性frame bool#

此属性保存旋转框是否使用边框绘制自身。

如果启用(默认),旋转框将在边框内绘制自身,否则旋转框将不带任何边框绘制自身。

访问函数
属性 keyboardTrackingᅟ: bool#

此属性用于确定 spin box 是否启用了键盘跟踪。

如果启用了键盘跟踪(默认值),则在用户从键盘输入新值时,spin box 会发出 valueChanged() 和 textChanged() 信号。

例如,当用户通过输入 6, 0, 和 0 来输入值 600 时,spin box 会发出 3 个信号,其值分别为 6、60 和 600。

如果禁用了键盘跟踪,则在输入时 spin box 不会发出 valueChanged() 和 textChanged() 信号。它会在以下情况后发出信号:当按下回车键、失去键盘焦点或使用其他 spin box 功能时,例如按下箭头键。

访问函数
属性 readOnlyᅟ: bool#

此属性用于确定 spin box 是只读的。

在只读模式下,用户仍可以将文本复制到剪贴板,或拖放文本,但无法编辑。

QAbstractSpinBox 中的 QLineEdit 在只读模式下不会显示光标。

另请参见

readOnly

访问函数
属性 showGroupSeparatorᅟ: bool#

此属性用于确定是否启用了千位分隔符。默认情况下,此属性为假。

访问函数
属性 specialValueTextᅟ: str#

警告

本节包含从 C++ 自动转换为 Python 的代码片段,可能包含错误。

此属性用于保存特殊值文本。

如果设置,则当当前值等于 minimum() 时,spin box 将显示此文本而不是数值。典型用法是用来指示这个选项具有特殊(默认)含义。

例如,如果你的 spin box 允许用户选择用于显示图像的缩放因子(或缩放级别),并且你的应用程序能够自动选择一个可以在窗口内完全适应图像的值,你可以这样设置 spin box:

zoomSpinBox = QSpinBox()
zoomSpinBox.setRange(0, 1000)
zoomSpinBox.setSingleStep(10)
zoomSpinBox.setSuffix("%")
zoomSpinBox.setSpecialValueText(tr("Automatic"))
zoomSpinBox.setValue(100)

用户将能够选择 1% 到 1000% 的缩放,或选择“自动”让观众的使用程序来选择。然后你的代码需要将 spin box 的 0 值解释为用户请求将图像缩放到窗口大小。

所有值都显示前缀和后缀(如果设置),除了特殊值,只显示特殊值文本。这个特殊文本在 textChanged() 信号中传递,该信号传递一个 QString。

要关闭特殊值的文本显示,请使用空字符串调用此函数。默认情况下没有特殊值文本,即以常规方式显示数值。

如果没有设置特殊值文本,specialValueText() 返回空字符串。

访问函数
属性 text: str#

该属性包含滚动框的文本,包括任何前缀和后缀。

没有默认文本。

访问函数
属性 wrapping: bool#

警告

本节包含从 C++ 自动转换为 Python 的代码片段,可能包含错误。

该属性包含滚动框是否为循环的。

如果 wrapping 为真,从 maximum() 值递增将带到 minimum() 值,反之亦然。 Wrapping 只有在有 minimum() 和 maximum() 值设置时才有意义。

spinBox = QSpinBox(self)
spinBox.setRange(0, 100)
spinBox.setWrapping(True)
spinBox.setValue(100)
spinBox.stepBy(1)
# value is 0

另请参见

minimum() maximum()

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

parentQWidget

使用给定的 parent 构造一个抽象滚动框,具有默认的 wrappingalignment 属性。

alignment()#
返回类型:

AlignmentFlag 的组合

另请参见

setAlignment()

属性 alignment 的获取器。

buttonSymbols()#
返回类型:

ButtonSymbols

另请参见

setButtonSymbols()

属性 buttonSymbols 的获取器。

clear()#

清除所有文本但前缀和后缀。

correctionMode()#
返回类型:

纠错模式

另请参见

setCorrectionMode()

属性 correctionMode 的获取器。

editingFinished()#

此信号在编辑完成后发出。这发生在微调框失去焦点或按Enter键时。

fixup(input)#
参数:

input – str

返回类型:

QString

此虚函数在返回键被按下或调用interpretText()时由QAbstractSpinBox调用。如果输入在按下Return键或调用interpretText()后未被验证为QValidator::Acceptable,它将尝试更改文本,使其有效。在各个子类中重实现。

hasAcceptableInput()#
返回类型:

bool

属性acceptableInputᅟ的获取器。

hasFrame()#
返回类型:

bool

属性frameᅟ的获取器。

initStyleOption(option)#
参数:

optionQStyleOptionSpinBox

使用此QSpinBox的值初始化option。此方法对于需要QStyleOptionSpinBox但不想自己填写所有信息的子类来说非常实用。

另请参见

initFrom()

interpretText()#

此函数解释微调框的文本。如果自上次解释以来值已更改,则将发出信号。

isAccelerated()#
返回类型:

bool

属性acceleratedᅟ的获取器。

isGroupSeparatorShown()#
返回类型:

bool

属性showGroupSeparatorᅟ的获取器。

isReadOnly()#
返回类型:

bool

属性 readOnly 的访问器。

keyboardTracking()#
返回类型:

bool

另请参见

setKeyboardTracking()

属性 keyboardTracking 的访问器。

lineEdit()#
返回类型:

QLineEdit

此函数返回单行编辑器的指针。

另请参见

setLineEdit()

selectAll()#

选择除前缀和后缀之外的编辑框内的所有文本。

setAccelerated(on)#
参数:

on – bool

另请参见

isAccelerated()

属性 accelerated 的设置器。

setAlignment(flag)#
参数:

flagAlignmentFlag 组合

另请参见

alignment()

设置属性 alignment 的设置器。

setButtonSymbols(bs)#
参数:

bsButtonSymbols

另请参见

buttonSymbols()

设置属性 buttonSymbols 的设置器。

setCorrectionMode(cm)#
参数:

cmCorrectionMode

另请参见

correctionMode()

设置属性 correctionMode 的设置器。

setFrame(arg__1)#
参数:

arg__1 – bool

另请参见

hasFrame()

设置属性frame的设置器。

setGroupSeparatorShown(显式)
参数:

显示 – bool

设置属性showGroupSeparator的设置器。

setKeyboardTracking(键盘追踪)
参数:

键盘追踪 – bool

另请参见

keyboardTracking()

设置属性keyboardTracking的设置器。

setLineEdit(编辑)
参数:

编辑QLineEdit

将SpinBox的行编辑设置为lineEdit,而不是当前行编辑小部件。 lineEdit不能为None

QAbstractSpinBox会获得新的lineEdit的所有权。

如果lineEditvalidator()返回None,则将对行编辑应用spinbox的内部验证器。

另请参见

lineEdit()

setReadOnly(只读)
参数:

只读 – bool

另请参见

isReadOnly()

设置属性readOnly的设置器。

setSpecialValueText(文本)
参数:

文本 – str

另请参见

specialValueText()

设置属性specialValueText的设置器。

setWrapping(包装)
参数:

包装 – bool

另请参见

wrapping()

属性 wrapping 的设置器。

specialValueText()#
返回类型:

str

另请参见

setSpecialValueText()

属性 specialValueText 的获取器。

stepBy(steps)#
参数:

steps – int

当用户触发放置步进时调用的虚拟函数。参数 steps 表示执行了多少步骤。例如,按下 Qt::Key_Down 将触发表达式 stepBy(-1),而按下 Qt::Key_PageUp 将触发表达式 stepBy(10)

如果你对 QAbstractSpinBox 进行了子类化,你必须实现这个函数。注意,即使结果值超出了最小值和最大值的范围,也会调用这个函数。处理这些情况是此函数的责任。

另请参见

stepUp() stepDown() keyPressEvent()

stepDown()#

通过一个行步进。调用此槽相当于调用 stepBy (-1);

另请参见

stepBy() stepUp()

stepEnabled()#
返回类型:

StepEnabledFlag 的组合

确定在任何给定时间步进是否合法的虚拟函数。

除非 (stepEnabled() & StepUpEnabled ) != 0,否则向上箭头将被绘制为禁用。

默认实现将返回(StepUpEnabled | StepDownEnabled),如果在 Turn on wrapping。否则,如果值大于 minimum(),则返回 StepDownEnabled;如果值小于最大值,则与 StepUpEnabled 进行位与运算。

如果您继承自 QAbstractSpinBox,则需要重新实现此函数。

stepUp()#

每行递增一个步长。调用此槽相当于调用 stepBy (1);

另请参见

stepBy() stepDown()

text()#
返回类型:

str

property 的获取器 text .

validate(input, pos)#
参数:
  • input – str

  • pos - int

返回类型:

PyObject

此虚拟函数由 QAbstractSpinBox 调用来确定输入是否有效。pos 参数指示字符串中的位置。在各个子类中被重新实现。

wrapping()#
返回类型:

bool

另请参见

setWrapping()

property 的获取器 wrapping .