写点什么

Python Qt GUI 设计:QSpinBox 计数器类(基础篇—15)

  • 2021 年 11 月 24 日
  • 本文字数:762 字

    阅读完需:约 3 分钟

Python Qt GUI设计:QSpinBox计数器类(基础篇—15)

QSpinBox 是一个计数器控件,允许用户选择一个整数值,通过单击向上/向下按钮或按键盘上的上/下箭头来增加/减少当前显示的值,当然用户也可以输入值。在默认情况下,QSpinBox 的取值范围是 0~99,每次改变的步长值为 1。QSpinBox 类和 QDoubleSpinBox 类均派生自 QAbstractSpinBox 类。QSpinBox 用于处理整数值,QDoubleSpinBox 则用于处理浮点值,它们之间的区别就是处理数据的类型不同,其他功能都基本相同。QDoubleSpinBox 的默认精度是两位小数,但可以通过 setDecimals()来改变。QSpinBox 类中的常用方法如下表所示:


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


在这个例子中,有一个标签和计数器放置在一个垂直布局管理器中,并把这个垂直布局管理器放置在窗口中。将计数器的 valueChanged 信号连接到槽函数 valuechange()。实现代码如下所示:

import sysfrom 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_())
复制代码


发布于: 2021 年 11 月 24 日阅读数: 5
用户头像

【研究方向】物联网、嵌入式、AI、Python 2018.02.09 加入

【公众号】美男子玩编程,关注获取海量资源~

评论

发布
暂无评论
Python Qt GUI设计:QSpinBox计数器类(基础篇—15)