QSpinBox是一个计数器控件,允许用户选择一个整数值,通过单击向上/向下按钮或键盘的上/下箭头来增加/减少当前显示的值,当然用户也可以输入值。在默认情况下,QSpinBox的取值范围是
0 ~99
,每次改变的步长值为1
。QSpinBox用于处理整数值,QDoubleSpinBox
用于处理浮点值,默认精度是两位小数,可以通过setDecimals()
来改变。
方法 | 描述 |
---|---|
setMinimum() | 设置计数器的下界 |
setMaximum() | 设置计数器的上界 |
setRange() | 设置计数器的最大值、最小值和步长值 |
setValue() | 设置计数器的当前值 |
Value() | 返回计数器的当前值 |
singleStep() | 设置计数器的步长值 |
每次单击向上/向下按钮时,QSpinBox计数器都会发射valueChanged信号,可以从相应的槽函数中通过value()函数获得计数器的当前值。
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class Win(QWidget):
def __init__(self):
super().__init__()
self.setGeometry(200, 200, 400, 400)
self.setWindowTitle('QSpinBox计数器的使用')
self.lb1 = QLabel('current value:')
self.lb1.setAlignment(Qt.AlignCenter)
self.sp = QSpinBox()
self.sp.valueChanged.connect(self.valueChange)
layout = QVBoxLayout()
layout.addWidget(self.lb1)
layout.addWidget(self.sp)
self.setLayout(layout)
def valueChange(self):
self.lb1.setText("current value:"+str(self.sp.value()))
if __name__ == "__main__":
app = QApplication(sys.argv)
form = Win()
form.show()
sys.exit(app.exec_())