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

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

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

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

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

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

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


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

实现代码如下所示:

  1. import sys

  2. from PyQt5.QtCore import *

  3. from PyQt5.QtGui import *

  4. from PyQt5.QtWidgets import *

  5. class spindemo(QWidget):

  6. def __init__(self, parent=None):

  7. super(spindemo, self).__init__(parent)

  8. self.setWindowTitle("SpinBox 例子")

  9. self.resize(300, 100)

  10. layout = QVBoxLayout()

  11. self.l1=QLabel("current value:")

  12. self.l1.setAlignment(Qt.AlignCenter)

  13. layout.addWidget(self.l1)

  14. self.sp = QSpinBox()

  15. layout.addWidget(self.sp)

  16. self.sp.valueChanged.connect(self.valuechange)

  17. self.setLayout(layout)

  18. def valuechange(self):

  19. self.l1.setText("current value:" + str(self.sp.value()) )

  20. if __name__ == '__main__':

  21. app = QApplication(sys.argv)

  22. ex = spindemo()

  23. ex.show()

  24. sys.exit(app.exec_())

。。。。。。。。。。。。。。。。。

版权原因,完整文章,请参考如下:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值