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

举报
不脱发的程序猿 发表于 2021/10/21 22:24:58 2021/10/21
【摘要】 QSpinBox是一个计数器控件,允许用户选择一个整数值,通过单击向上/向下按钮或按键盘上的上/下箭头来增加/减少当前显示的值,当然用户也可以输入值。 在默认情况下,QSpinBox的取值范围是0~99,每次改变的步长值为1。 QSpinBox类和QDoubleSpinBox类均派生自QAbstractSpinBox类。QSpinB...

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

文章来源: handsome-man.blog.csdn.net,作者:不脱发的程序猿,版权归原作者所有,如需转载,请联系作者。

原文链接:handsome-man.blog.csdn.net/article/details/120877741

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。