从零开始学Pyqt5之【控件介绍】(8):QSpinBox计数器控件

  • ​​QSpinBox控件的作用​​
  • ​​QSpinBox控件常用方法​​
  • ​​代码示例​​

QSpinBox控件的作用

QSpinBox是一个计数器控件,允许用户选择一个整数值,通过单击向上/向下按钮或按键盘上的上/下箭头来增加/减少当前显示的值,当然用户也可以输入值。
在默认情况下,QSpinBox的取值范围是0~99,每次改变的步长值为1。可以通过setMinimum()方法设置最小值,setMaximum()方法设置最大值。

QSpinBox 与QDoubleSpinBox
QSpinBox用于处理整数值,QDoubleSpinBox则用于处理浮点值,它们之间的区别就是处理数据的类型不同,其他功能都基本相同。QDoubleSpinBox的默认精度是两位小数,但可以通过setDecimals()来改变。

QSpinBox控件常用方法

从零开始学Pyqt5之【控件介绍】(8):QSpinBox计数器控件_常用方法

注:每次单击向上/向下按钮时,QSpinBox计数器都会发射valueChanged 信号,可以从相应的槽函数中通过value()函数获得计数器的当前值。

代码示例

# -*- coding: utf-8 -*-
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):
# 在标签l1上显示,计数器相应的数值
self.l1.setText("current value:" + str(self.sp.value()) )

if __name__ == '__main__':
app = QApplication(sys.argv)
ex = spindemo()
ex.show()
sys.exit(app.exec_())

代码运行结果:

从零开始学Pyqt5之【控件介绍】(8):QSpinBox计数器控件_常用方法_02


点击上下按钮时,运行结果:

从零开始学Pyqt5之【控件介绍】(8):QSpinBox计数器控件_QSpinBox_03