PyQt5中QSpinBox计数器的实现


Posted in Python onJanuary 18, 2021

QSpinBox 是一个计数器控件,允许用户选择一个整数值,通过单击向上/向下按钮或按键盘上的上/下箭头来增加/减少当前显示的值,当然用户也可以输入值。在默认情况下,QSpinBox 的取值范围是 0~99,每次改变的步长值为 1。

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

QSpinBox类中的常用方法:

PyQt5中QSpinBox计数器的实现

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

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

效果:

PyQt5中QSpinBox计数器的实现

QSpinBox和QDoubleSpinBox的比较

  • QSpingBox是一个计数器控件,允许用户选择一个整数值,通过上下按钮或键盘上下箭头来增加或减少当前值,同时支持用户手动输入。
  • 在默认情况下QSpingBox的默认取值范围是0-99,步长为1。
  • QSpinBox类和QDoubleSpinBox类均派生自QAbstractSpinBox类,QSpinBox用于处理整数值,QDoubleSpinBox则用于处理浮点值,他们之间的区别就是处理数据的类型不同,其他功能都基本相投,QDoubleSpinBox的默认精度是两位小数,但可以通过setDecimals()来设置。

到此这篇关于PyQt5中QSpinBox计数器的实现的文章就介绍到这了,更多相关PyQt5 QSpinBox计数器内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
跟老齐学Python之传说中的函数编写条规
Oct 11 Python
Django自定义manage命令实例代码
Feb 11 Python
Python多继承原理与用法示例
Aug 23 Python
opencv python 图像轮廓/检测轮廓/绘制轮廓的方法
Jul 03 Python
Python 获取 datax 执行结果保存到数据库的方法
Jul 11 Python
关于python中密码加盐的学习体会小结
Jul 15 Python
python使用flask与js进行前后台交互的例子
Jul 19 Python
python3.7通过thrift操作hbase的示例代码
Jan 14 Python
使用python绘制cdf的多种实现方法
Feb 25 Python
Django实现列表页商品数据返回教程
Apr 03 Python
windows10在visual studio2019下配置使用openCV4.3.0
Jul 14 Python
python如何停止递归
Sep 09 Python
全网最细 Python 格式化输出用法讲解(推荐)
Jan 18 #Python
PyQt实现计数器的方法示例
Jan 18 #Python
Python实现邮件发送的详细设置方法(遇到问题)
Jan 18 #Python
Python实现一个论文下载器的过程
Jan 18 #Python
利用python为PostgreSQL的表自动添加分区
Jan 18 #Python
如何查看python关键字
Jan 17 #Python
Python日志打印里logging.getLogger源码分析详解
Jan 17 #Python
You might like
提升PHP执行速度全攻略
2006/10/09 PHP
PHP MemCached高级缓存配置图文教程
2010/08/05 PHP
PHP面向对象法则
2012/02/23 PHP
PHP获取windows登录用户名的方法
2014/06/24 PHP
php学习笔记之面向对象
2014/11/08 PHP
php文件操作之文件写入字符串、数组的方法分析
2019/04/15 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
一些易混淆且不常用的属性,希望有用
2007/01/29 Javascript
用JavaScript实现仿Windows关机效果
2007/03/10 Javascript
javascript 去字符串空格终极版(支持utf8)
2009/11/14 Javascript
关于 文本框默认值 的操作js代码
2012/01/12 Javascript
css transform 3D幻灯片特效实现步骤解读
2013/03/27 Javascript
将字符串中由空格隔开的每个单词首字母大写
2014/04/06 Javascript
javascript实现带节日和农历的日历特效
2015/02/01 Javascript
JavaScript开发者必备的10个Sublime Text插件
2016/02/27 Javascript
深入浅析AngularJS中的一次性数据绑定 (bindonce)
2017/05/11 Javascript
ES6中Array.find()和findIndex()函数的用法详解
2017/09/16 Javascript
jquery自定义显示消息数量
2017/12/19 jQuery
微信小程序控制台提示warning:Now you can provide attr "wx:key" for a "wx:for" to improve performance解决方法
2019/02/21 Javascript
JavaScript使用面向对象实现的拖拽功能详解
2019/06/12 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
2019/07/30 Javascript
使用JavaScript通过前端发送电子邮件
2020/05/22 Javascript
JS removeAttribute()方法实现删除元素的某个属性
2021/01/11 Javascript
python实现小程序推送页面收录脚本
2020/04/20 Python
keras实现VGG16方式(预测一张图片)
2020/07/07 Python
Python基于xlutils修改表格内容过程解析
2020/07/28 Python
CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
2012/12/10 HTML / CSS
天猫国际进口超市直营:官方直采,一站购齐
2017/12/11 全球购物
The Beach People美国:澳洲海滨奢华品牌
2018/07/05 全球购物
普天C++笔试题
2016/03/20 面试题
2015年公司新年寄语
2014/12/08 职场文书
2014年语文教师工作总结
2014/12/18 职场文书
学校光盘行动倡议书
2015/04/28 职场文书
光荣之路观后感
2015/06/12 职场文书
运输公司工作总结
2015/08/11 职场文书
mysql查找连续出现n次以上的数字
2022/05/11 MySQL