python GUI库图形界面开发之PyQt5计数器控件QSpinBox详细使用方法与实例


Posted in Python onFebruary 28, 2020

PyQt5计数器控件QSpinBox简介

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

在默认情况下,QSpinBox的取值范围是(0-99),每次改变的步长是1

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

QSpinBox类中的常用方法

方法 描述
setMinimum() 设置计数器的下界
setMaximum() 设置计数器的上界
setRange() 设置计数器的最大值,最小值,步长值
setValue() 设置计数器的当前值
Value() 返回计数器的当前值
singleStep() 设置计数器的步长值

QSpinBox的使用实例

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui 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_())

运行效果如图

python GUI库图形界面开发之PyQt5计数器控件QSpinBox详细使用方法与实例

QSpinBox代码分析:

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

self.sp.valueChanged.connect(self.Valuechange)

valuechange()函数把计数器的当前值设置到标签文本中

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

本文主要讲解了PyQt5计数器控件QSpinBox详细使用方法与实例,更多关于PyQt5控件知识请查看下面的相关链接

Python 相关文章推荐
python数据结构之图深度优先和广度优先实例详解
Jul 08 Python
举例讲解Python中字典的合并值相加与异或对比
Jun 04 Python
浅析python递归函数和河内塔问题
Apr 18 Python
Python学习教程之常用的内置函数大全
Jul 14 Python
python探索之BaseHTTPServer-实现Web服务器介绍
Oct 28 Python
Tensorflow环境搭建的方法步骤
Feb 07 Python
Python中dict和set的用法讲解
Mar 28 Python
对Django url的几种使用方式详解
Aug 06 Python
python生成并处理uuid的实现方式
Mar 03 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
Apr 02 Python
Python通过fnmatch模块实现文件名匹配
Sep 30 Python
python 合并多个excel中同名的sheet
Jan 22 Python
python GUI库图形界面开发之PyQt5切换按钮控件QPushButton详细使用方法与实例
Feb 28 #Python
浅谈ROC曲线的最佳阈值如何选取
Feb 28 #Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
Feb 28 #Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
Feb 28 #Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
Feb 28 #Python
Python post请求实现代码实例
Feb 28 #Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
Feb 28 #Python
You might like
phplock(php进程锁) v1.0 beta1
2009/11/24 PHP
PHP操作xml代码
2010/06/17 PHP
php判断访问IP的方法
2015/06/19 PHP
PHP+apc+ajax实现的ajax_upload上传进度条代码
2016/01/25 PHP
利用onresize使得div可以随着屏幕大小而自适应的代码
2010/01/15 Javascript
jquery在IE、FF浏览器的差别详细探讨
2013/04/28 Javascript
如何将网页表格内容导入excel
2014/02/18 Javascript
javascript arguments使用示例
2014/12/16 Javascript
jquery实现一个简单的表单验证实例
2016/03/30 Javascript
JavaScript Ajax编程 应用篇
2016/07/02 Javascript
vue监听对象及对象属性问题
2018/08/20 Javascript
彻底弄懂 JavaScript 执行机制
2018/10/23 Javascript
简单实现节流函数和防抖函数过程解析
2019/10/08 Javascript
JavaScript this在函数中的指向及实例详解
2019/10/14 Javascript
[10:18]2018DOTA2国际邀请赛寻真——Fnatic能否笑到最后?
2018/08/14 DOTA
python从sqlite读取并显示数据的方法
2015/05/08 Python
深入理解Python中的super()方法
2017/11/20 Python
Django 生成登陆验证码代码分享
2017/12/12 Python
Python tkinter事件高级用法实例
2018/01/31 Python
使用pygame模块编写贪吃蛇的实例讲解
2018/02/05 Python
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
python版本五子棋的实现代码
2018/12/11 Python
python使用Paramiko模块实现远程文件拷贝
2019/04/30 Python
Pytorch中accuracy和loss的计算知识点总结
2019/09/10 Python
pygame实现成语填空游戏
2019/10/29 Python
Python如何对齐字符串
2020/07/30 Python
python实现单机五子棋
2020/08/28 Python
浅谈matplotlib默认字体设置探索
2021/02/03 Python
微信端html5页面调用分享接口示例
2018/03/14 HTML / CSS
ECCO俄罗斯官网:北欧丹麦鞋履及皮具品牌
2020/06/26 全球购物
初中生物教学反思
2014/01/10 职场文书
幼儿园儿童节活动主持词+串词大全
2014/03/21 职场文书
效能监察建议书
2014/05/19 职场文书
2014年实验室工作总结
2014/12/03 职场文书
实体类或对象序列化时,忽略为空属性的操作
2021/06/30 Java/Android
nginx实现动静分离的方法示例
2021/11/07 Servers