(编辑:jimmy 日期: 2024/12/27 浏览:2)
QSpinBox 是一个计数器控件,允许用户选择一个整数值,通过单击向上/向下按钮或按键盘上的上/下箭头来增加/减少当前显示的值,当然用户也可以输入值。在默认情况下,QSpinBox 的取值范围是 0~99,每次改变的步长值为 1。
QSpinBox 类和 QDoubleSpinBox 类均派生自 QAbstractSpinBox 类。QSpinBox 用于处理整数值,QDoubleSpinBox 则用于处理浮点值,它们之间的区别就是处理数据的类型不同,其他功能都基本相同。QDoubleSpinBox 的默认精度是两位小数,但可以通过 setDecimals() 来改变。
QSpinBox类中的常用方法:
每次单击向上/向下按钮时,QSpinBox 计数器都会发射 valueChanged 信号,可以从相应的 slot 函数中通过 value() 函数获得计数器的当前值。
import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * class spindemo(QWidget): def __init__(self, parent=None): super(spindemo, self).__init__(parent) self.setWindowTitle("SpinBox 例子") self.resize(300, 100) layout = QVBoxLayout() self.l1 = QLabel("current value:") self.l1.setAlignment(Qt.AlignCenter) layout.addWidget(self.l1) self.sp = QSpinBox() layout.addWidget(self.sp) self.sp.valueChanged.connect(self.valuechange) self.setLayout(layout) def valuechange(self): self.l1.setText("current value:" + str(self.sp.value())) if __name__ == '__main__': app = QApplication(sys.argv) ex = spindemo() ex.show() sys.exit(app.exec_())
效果: