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编写一个国际象棋AI程序
Nov 28 Python
Python比较两个图片相似度的方法
Mar 13 Python
Python输出PowerPoint(ppt)文件中全部文字信息的方法
Apr 28 Python
详解Django框架中用户的登录和退出的实现
Jul 23 Python
Python中的__slots__示例详解
Jul 06 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
Feb 18 Python
Python日志处理模块logging用法解析
May 19 Python
浅析Python的命名空间与作用域
Nov 25 Python
Python与C/C++的相互调用案例
Mar 04 Python
python中的plt.cm.Paired用法说明
May 31 Python
Pytorch中Softmax与LogSigmoid的对比分析
Jun 05 Python
Python机器学习应用之工业蒸汽数据分析篇详解
Jan 18 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 set_time_limit(0)长连接的实现分析
2010/03/02 PHP
在WAMP环境下搭建ZendDebugger php调试工具的方法
2011/07/18 PHP
使用PHP实现密保卡功能实现代码<打包下载直接运行>
2011/10/09 PHP
PHP页面中文乱码分析
2013/10/29 PHP
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
php中照片旋转 (orientation) 问题的正确处理
2017/02/16 PHP
Laravel中log无法写入问题的解决
2017/06/17 PHP
PHP数组对象与Json转换操作实例分析
2019/10/22 PHP
改版了网上的一个js操作userdata
2007/04/27 Javascript
用原生JavaScript实现jQuery的$.getJSON的解决方法
2013/05/03 Javascript
js动态设置鼠标事件示例代码
2013/10/30 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
node.js中cluster的使用教程
2017/06/09 Javascript
C#实现将一个字符转换为整数
2017/12/12 Javascript
Nodejs中crypto模块的安全知识讲解
2018/01/03 NodeJs
vue的全局提示框组件实例代码
2018/02/26 Javascript
一个Vue视频媒体多段裁剪组件的实现示例
2018/08/09 Javascript
详解超简单的react服务器渲染(ssr)入坑指南
2019/02/28 Javascript
Vue组件系列开发之模态框
2019/04/18 Javascript
js继承的这6种方式!(上)
2019/04/23 Javascript
vue 解决form表单提交但不跳转页面的问题
2019/10/30 Javascript
Element Dialog对话框的使用示例
2020/07/26 Javascript
JavaScript Image对象实现原理实例解析
2020/08/26 Javascript
[24:42]VP vs TNC Supermajor小组赛B组 BO3 第三场 6.2
2018/06/03 DOTA
python获取本机外网ip的方法
2015/04/15 Python
python中as用法实例分析
2015/04/30 Python
使用FastCGI部署Python的Django应用的教程
2015/07/22 Python
Python3.5编程实现修改IIS WEB.CONFIG的方法示例
2017/08/18 Python
用Python实现筛选文件脚本的方法
2018/10/27 Python
Python实现二维曲线拟合的方法
2018/12/29 Python
Pycharm中import torch报错的快速解决方法
2020/03/05 Python
印度和世界各地的精美产品:Ikka Dukka
2018/02/12 全球购物
孤独星球出版物:Lonely Planet Publications
2018/03/17 全球购物
工作鉴定评语
2014/05/04 职场文书
网络销售员岗位职责
2015/04/11 职场文书
回门宴新娘答谢词
2015/09/29 职场文书