简介
由一个步长调节器和单行文本框来调节和显示数据;
继承自QWidget;
使用
QAbstractSpinBox是一个抽象类,使用时需要将其子类化
window = QWidget()
window.resize(500, 200)
ab = QAbstractSpinBox(window)
ab.resize(100, 30)
# 虽然直接的创建可以将其进行展示,但是点击箭头时会发现并不会有相关的操作
# 设置上下能用的方法
stepEnabled(self) -> QAbstractSpinBox.StepEnabled
# QAbstractSpinBox.StepEnabled枚举值
QAbstractSpinBox.StepNone
都不能用
QAbstractSpinBox.StepUpEnabled
上可用
QAbstractSpinBox.StepDownEnabled
下可用
window = QWidget()
window.resize(500, 200)
class NewQAbstractSpinBox(QAbstractSpinBox):
def __init__(self, parent=None, *args, **kwargs):
super().__init__(parent, *args, **kwargs)
self.lineEdit().setText("0")
def stepEnabled(self):
if int(self.text()) == 0:
return QAbstractSpinBox.StepUpEnabled
elif int(self.text()) == 9:
return QAbstractSpinBox.StepDownEnabled
elif self.text() < 0 or self.text() < 9:
return QAbstractSpinBox.StepNone
else:
return QAbstractSpinBox.StepUpEnabled | QAbstractSpinBox.StepDownEnabled
def stepBy(self, p_int):
num = int(self.text()) + p_int
self.lineEdit().setText(str(num))
ab = NewQAbstractSpinBox(window)
ab.resize(100, 30)