PySide6.QtWidgets.QAbstractSpinBox

class QAbstractSpinBox

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

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上,Control对应于Command键。

自 Qt 5.12 起,SH_SpinBox_StepModifier 可用于选择哪个 Qt::KeyboardModifier 增加步进速率。Qt::NoModifier 禁用此功能。

QAbstractSpinBox 还提供了一个虚函数 stepEnabled() 来确定在任何时候是否允许步进/步退。此函数返回一个 StepEnabled 的位集。

另请参阅

QAbstractSlider QSpinBox QDoubleSpinBox QDateTimeEdit Spin Boxes 示例

class StepEnabledFlag

常量

描述

QAbstractSpinBox.StepNone

QAbstractSpinBox.StepUpEnabled

QAbstractSpinBox.StepDownEnabled

class ButtonSymbols

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

qspinbox-plusminus2 qspinbox-plusminus2

常量

描述

QAbstractSpinBox.UpDownArrows

经典风格的小箭头。

QAbstractSpinBox.PlusMinus

+- 符号。

QAbstractSpinBox.NoButtons

不显示按钮。

另请参阅

buttonSymbols

class CorrectionMode

此枚举类型描述了如果编辑完成,spinbox将用于校正中间值的模式。

常量

描述

QAbstractSpinBox.CorrectToPreviousValue

微调框将恢复到最后一个有效值。

QAbstractSpinBox.CorrectToNearestValue

微调框将恢复到最近的有效值。

另请参阅

correctionMode

class StepType

常量

描述

QAbstractSpinBox.DefaultStepType

QAbstractSpinBox.AdaptiveDecimalStepType

注意

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

property acceleratedᅟ: bool

此属性控制当按下步进上/下按钮时,微调框是否会加速步进的频率。

如果启用,旋转框将在您按住按钮的时间越长时,增加/减少值的速度越快。

Access functions:
property acceptableInputᅟ: bool

此属性表示输入是否满足当前验证。

Access functions:
property alignmentᅟ: Combination of Qt.AlignmentFlag

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

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

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

尝试将对齐设置为非法的标志组合不会产生任何效果。

另请参阅

Alignment

Access functions:
property buttonSymbolsᅟ: QAbstractSpinBox.ButtonSymbols

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

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

请注意,某些样式可能会使PlusMinusUpDownArrows呈现相同的外观。

另请参阅

ButtonSymbols

Access functions:
property correctionModeᅟ: QAbstractSpinBox.CorrectionMode

此属性保存编辑完成时用于校正中间值的模式。

默认模式是 CorrectToPreviousValue

另请参阅

acceptableInput validate() fixup()

Access functions:
property frameᅟ: bool

此属性保存旋转框是否绘制带有边框的自身。

如果启用(默认情况下),微调框会在框架内绘制自身,否则微调框会在没有任何框架的情况下绘制自身。

Access functions:
property keyboardTrackingᅟ: bool

此属性表示是否为微调框启用了键盘跟踪。

如果启用了键盘跟踪(默认情况下),当从键盘输入新值时,微调框会发出 valueChanged() 和 textChanged() 信号。

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

如果键盘跟踪被禁用,微调框在输入时不会发出valueChanged()和textChanged()信号。它会在稍后按下回车键、失去键盘焦点或使用其他微调框功能(例如按下箭头键)时发出这些信号。

Access functions:
property readOnlyᅟ: bool

此属性表示微调框是否为只读。

在只读模式下,用户仍然可以将文本复制到剪贴板,或者拖放文本;但不能编辑它。

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

另请参阅

readOnly

Access functions:
property showGroupSeparatorᅟ: bool

此属性表示是否启用了千位分隔符。默认情况下,此属性为 false。

Access functions:
property specialValueTextᅟ: str

警告

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

此属性保存特殊值文本。

如果设置,当当前值等于最小值时,旋转框将显示此文本而不是数值。典型用途是表示此选择具有特殊(默认)含义。

例如,如果你的微调框允许用户选择显示图像的缩放比例(或缩放级别),并且你的应用程序能够自动选择一个使图像完全适应显示窗口的比例,你可以这样设置微调框:

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

用户将能够选择从1%到1000%的比例,或选择“自动”让应用程序自行选择。然后,您的代码必须将微调框的值0解释为用户请求将图像缩放到适合窗口的大小。

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

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

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

Access functions:
property textᅟ: str

此属性保存旋转框的文本,包括任何前缀和后缀。

没有默认文本。

Access functions:
property wrappingᅟ: bool

警告

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

此属性表示微调框是否为圆形。

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

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

另请参阅

minimum() maximum()

Access functions:
__init__([parent=None])
Parameters:

父级QWidget

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

alignment()
Return type:

AlignmentFlag 的组合

另请参阅

setAlignment()

属性 alignmentᅟ 的获取器。

buttonSymbols()
Return type:

ButtonSymbols

另请参阅

setButtonSymbols()

属性 buttonSymbolsᅟ 的获取器。

clear()

清除行编辑中的所有文本,但保留前缀和后缀。

correctionMode()
Return type:

CorrectionMode

另请参阅

setCorrectionMode()

属性 correctionModeᅟ 的获取器。

editingFinished()

当编辑完成时,会发出此信号。当微调框失去焦点或按下回车键时,会发生这种情况。

fixup(input)
Parameters:

输入 – str

Return type:

QString

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

hasAcceptableInput()
Return type:

布尔

属性 acceptableInputᅟ 的获取器。

hasFrame()
Return type:

布尔

属性 frameᅟ 的获取器。

initStyleOption(option)
Parameters:

选项QStyleOptionSpinBox

使用来自此QSpinBox的值初始化option。当子类需要一个QStyleOptionSpinBox但不想自己填写所有信息时,此方法非常有用。

另请参阅

initFrom()

interpretText()

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

isAccelerated()
Return type:

布尔

属性 acceleratedᅟ 的获取器。

isGroupSeparatorShown()
Return type:

布尔

属性 showGroupSeparatorᅟ 的获取器。

isReadOnly()
Return type:

布尔

属性 readOnlyᅟ 的获取器。

keyboardTracking()
Return type:

布尔

另请参阅

setKeyboardTracking()

获取属性 keyboardTrackingᅟ 的Getter。

lineEdit()
Return type:

QLineEdit

此函数返回指向微调框的行编辑的指针。

另请参阅

setLineEdit()

selectAll()

选择微调框中的所有文本,除了前缀和后缀。

setAccelerated(on)
Parameters:

on – 布尔值

另请参阅

isAccelerated()

属性 acceleratedᅟ 的设置器。

setAlignment(flag)
Parameters:

flagAlignmentFlag 的组合

另请参阅

alignment()

属性 alignmentᅟ 的设置器。

setButtonSymbols(bs)
Parameters:

bsButtonSymbols

另请参阅

buttonSymbols()

属性 buttonSymbolsᅟ 的设置器。

setCorrectionMode(cm)
Parameters:

cmCorrectionMode

另请参阅

correctionMode()

属性 correctionModeᅟ 的设置器。

setFrame(arg__1)
Parameters:

arg__1 – 布尔值

另请参阅

hasFrame()

属性 frameᅟ 的设置器。

setGroupSeparatorShown(shown)
Parameters:

显示 – bool

属性 showGroupSeparatorᅟ 的设置器。

setKeyboardTracking(kt)
Parameters:

kt – 布尔值

另请参阅

keyboardTracking()

属性 keyboardTrackingᅟ 的设置器。

setLineEdit(edit)
Parameters:

编辑QLineEdit

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

QAbstractSpinBox 接管了新的 lineEdit

如果validator()对于lineEdit返回None,则微调框的内部验证器将设置在行编辑上。

另请参阅

lineEdit()

setReadOnly(r)
Parameters:

r – 布尔值

另请参阅

isReadOnly()

属性 readOnlyᅟ 的设置器。

setSpecialValueText(txt)
Parameters:

txt – 字符串

另请参阅

specialValueText()

属性 specialValueTextᅟ 的设置器。

setWrapping(w)
Parameters:

w – 布尔值

另请参阅

wrapping()

属性 wrappingᅟ 的设置器。

specialValueText()
Return type:

字符串

另请参阅

setSpecialValueText()

属性 specialValueTextᅟ 的获取器。

stepBy(steps)
Parameters:

步骤 – int

每当用户触发一个步骤时调用的虚函数。steps 参数表示采取了多少个步骤。例如,按下 Qt::Key_Down 将触发对 stepBy(-1) 的调用,而按下 Qt::Key_PageUp 将触发对 stepBy(10) 的调用。

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

另请参阅

stepUp() stepDown() keyPressEvent()

stepDown()

向下移动一行 调用此槽类似于调用 stepBy (-1);

另请参阅

stepBy() stepUp()

stepEnabled()
Return type:

StepEnabledFlag 的组合

虚拟函数,用于确定在任何给定时间上下步进是否合法。

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

默认实现将返回(StepUpEnabled | StepDownEnabled)如果启用了环绕。否则,如果值大于最小值,则返回StepDownEnabled,如果值小于最大值,则返回StepUpEnabled

如果你子类化 QAbstractSpinBox,你将需要重新实现这个函数。

stepUp()

每次增加一个步长 调用这个槽类似于调用 stepBy (1);

另请参阅

stepBy() stepDown()

text()
Return type:

字符串

属性 textᅟ 的获取器。

validate(input, pos)
Parameters:
  • input – str

  • pos – 整数

Return type:

PyObject

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

wrapping()
Return type:

布尔

另请参阅

setWrapping()

属性 wrappingᅟ 的获取器。