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 02 Python
零基础写python爬虫之抓取百度贴吧代码分享
Nov 06 Python
python搜索指定目录的方法
Apr 29 Python
python实现的简单RPG游戏流程实例
Jun 28 Python
python通过opencv实现批量剪切图片
Nov 13 Python
python opencv 直方图反向投影的方法
Feb 24 Python
tensorflow实现简单逻辑回归
Sep 07 Python
在python里面运用多继承方法详解
Jul 01 Python
python爬虫实例之获取动漫截图
May 31 Python
10款最佳Python开发工具推荐,每一款都是神器
Oct 15 Python
python+opencv3.4.0 实现HOG+SVM行人检测的示例代码
Jan 28 Python
Python使用Web框架Flask开发项目
Jun 01 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中如何调用webservice的实例参考
2013/04/25 PHP
分享下PHP register_globals 值为on与off的理解
2013/09/26 PHP
php使用sql server验证连接数据库的方法
2014/12/25 PHP
php获取json数据所有的节点路径
2015/05/17 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
2019/02/14 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
游戏人文件夹程序 ver 4.03
2006/07/14 Javascript
JQuery与Ajax常用代码实现对比
2009/10/03 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
2015/10/30 Javascript
Ionic如何实现下拉刷新与上拉加载功能
2016/06/03 Javascript
基于Vue2的移动端开发环境搭建详解
2016/11/03 Javascript
浅谈DOM的操作以及性能优化问题-重绘重排
2017/01/08 Javascript
简单谈谈axios中的get,post方法
2017/06/25 Javascript
JavaScript程序设计高级算法之动态规划实例分析
2017/11/24 Javascript
layUI实现前端分页和后端分页
2019/07/27 Javascript
vue+axios全局添加请求头和参数操作
2020/07/24 Javascript
JavaScript中arguments的使用方法详解
2020/12/20 Javascript
简单了解Python下用于监视文件系统的pyinotify包
2015/11/13 Python
python输入整条数据分割存入数组的方法
2018/11/13 Python
Python实现FM算法解析
2019/06/18 Python
Django中间件基础用法详解
2019/07/18 Python
Python中的sys.stdout.write实现打印刷新功能
2020/02/21 Python
智利最大的网上商店:Linio智利
2016/11/24 全球购物
什么是Linux虚拟文件系统VFS
2012/01/31 面试题
党员承诺书格式
2014/05/21 职场文书
教师廉洁自律承诺书
2014/05/26 职场文书
供用电专业求职信
2014/07/07 职场文书
法制教育演讲稿
2014/09/10 职场文书
2015年后勤工作总结范文
2015/04/08 职场文书
董存瑞观后感
2015/06/11 职场文书
六年级数学教学反思
2016/02/16 职场文书
Pygame Draw绘图函数的具体使用
2021/11/17 Python
css3新特性的应用示例分析
2022/03/16 HTML / CSS
MySQL的prepare使用以及遇到的bug
2022/05/11 MySQL
Mybatis 一级缓存和二级缓存原理区别
2022/09/23 Java/Android