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

QSpinBox是一个计数器控件,允许用户选择一个整数值,通过单击向上/向下按钮或按键盘上的上/下箭头来增加/减少当前显示的值,当然用户也可以输入值。


在默认情况下,QSpinBox的取值范围是0~99,每次改变的步长值为1。


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


QSpinBox类中的常用方法如下表所示:


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


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


来看看QSpinBox按钮类的示例,效果如下所示:


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


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


实现代码如下所示:


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_())

文章知识点与官方知识档案匹配,可进一步学习相关知识


上一篇:PHP+MYSQL注入的发生


下一篇:Python Qt GUI设计:信号与槽的使用方法(基础篇—7)