步进控件QSpinBox,也叫微调控制器,允许用户选择一个整数值。通过单击向上向下或者按键盘上的上下键来增加减少当前显示的值,当然,也运行用户直接用键盘输入值。在默认情况下,它的取值范围是(0-99),每次改变的步长是1。
步进控件QSpinBox的常用事件类型为vlaueChanged,在值发生改变时触发事件,它常用的方法如下表所示。
方法 | 描述 |
setMinimum() | 设置步进器的下界 |
setMaximum() | 设置步进器的上界 |
setRange() | 同时设置计数器的最小值和最大值 |
setValue() | 设置步进器的当前值 |
value() | 返回步进器的当前值 |
singleStep() | 调整步进器的步长值 |
程序清单:spin.py
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QDesktopWidget,
QLabel, QSlider, QSpinBox, QVBoxLayout
from PyQt5.QtCore import Qt
# 继承QWidget
class SpinWidget(QWidget):
info_lbl = None
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
# 垂直布局
v_box = QVBoxLayout()
self.info_lbl = QLabel("步进控件的当前值为:50")
v_box.addWidget(self.info_lbl)
# 步进控件
spin_box = QSpinBox()
spin_box.setMinimum(10) # 设置最小值
spin_box.setMaximum(100) # 设置最大值
spin_box.setSingleStep(10) # 步长
spin_box.setValue(50) # 设置当前值
spin_box.valueChanged.connect(self.valuechange)
v_box.addWidget(spin_box)
v_box.setSpacing(50)
self.setLayout(v_box)
# 调整窗口大小
self.resize(600, 200)
# 窗口居中
self.center()
# 窗口标题
self.setWindowTitle("步进控件的应用")
# 显示窗口
self.show()
def valuechange(self):
sender = self.sender()
self.info_lbl.setText("步进控件的当前值为:%d" % sender.value())
# 实现居中
def center(self):
f = self.frameGeometry()
c = QDesktopWidget().availableGeometry().center()
f.moveCenter(c)
self.move(f.topLeft())
if __name__ == "__main__":
app = QApplication(sys.argv)
w = SpinWidget()
sys.exit(app.exec_())
运行程序之后,弹出的窗口如下:
好了,步进器的内容就说到这了,关注我,下一节更精彩。
今日头条:老陈说编程,到2021年国庆节,Python就全部分享完了,完整的课程有:
1.《12天搞定Python》
2.《16天搞定Python数据分析》
3.《10天搞定Python网络爬虫》
4. 《Django3.0项目实战》
5. 《25天学会Wxpython》
6. 《28天学会PyQt5》发布中
7. 《25天学会Seaborn数据分析》在csdn发布完了
8. 《3天搞定Pyecharts数据分析》国庆期间发布