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 30 Python
python简单实现刷新智联简历
Mar 30 Python
一个Python最简单的接口自动化框架
Jan 02 Python
在Python中使用defaultdict初始化字典以及应用方法
Oct 31 Python
python实现飞机大战游戏
Oct 26 Python
如何使用Python标准库进行性能测试
Jun 25 Python
Python银行系统实战源码
Oct 25 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
Jan 06 Python
python 爬虫如何实现百度翻译
Nov 16 Python
Pycharm安装Qt Design快捷工具的详细教程
Nov 18 Python
Python实现单例模式的5种方法
Jun 15 Python
python编程简单几行代码实现视频转换Gif示例
Oct 05 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
图书管理程序(二)
2006/10/09 PHP
Zend Framework教程之Autoloading用法详解
2016/03/08 PHP
PHP简单遍历对象示例
2016/09/28 PHP
CentOS7编译安装php7.1的教程详解
2019/04/18 PHP
Javascript开发包大全整理
2006/12/22 Javascript
javascript 密码强度验证规则、打分、验证(给出前端代码,后端代码可根据强度规则翻译)
2010/05/18 Javascript
javascript setTimeout和setInterval计时的区别详解
2013/06/21 Javascript
eclipse如何忽略js文件报错(附图)
2013/10/30 Javascript
jQuery实现DIV层收缩展开的方法
2015/02/27 Javascript
jQuery获取标签文本内容和html内容的方法
2015/03/27 Javascript
nodejs导出excel的方法
2015/06/30 NodeJs
JavaScript中实现键值对应的字典与哈希表结构的示例
2016/06/12 Javascript
Angular 4依赖注入学习教程之组件服务注入(二)
2017/06/04 Javascript
vue如何在自定义组件中使用v-model
2018/05/14 Javascript
JS数组方法push()、pop()用法实例分析
2020/01/18 Javascript
详解Vue3 Teleport 的实践及原理
2020/12/02 Vue.js
如何在JavaScript中使用localStorage详情
2021/02/04 Javascript
[03:24]DOTA2超级联赛专访hao 大翻盘就是逆袭
2013/05/24 DOTA
[01:33:25]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第一场 1月24日
2021/03/11 DOTA
Python抓取百度查询结果的方法
2015/07/08 Python
在Python中的Django框架中进行字符串翻译
2015/07/27 Python
python中的常量和变量代码详解
2018/07/25 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
使用Python编写Prometheus监控的方法
2018/10/15 Python
对python 多线程中的守护线程与join的用法详解
2019/02/18 Python
python实现基于朴素贝叶斯的垃圾分类算法
2019/07/09 Python
python 实现简易的记事本
2020/11/30 Python
python 爬虫之selenium可视化爬虫的实现
2020/12/04 Python
HMV日本官网:全球知名的音乐、DVD和电脑游戏零售巨头
2016/08/13 全球购物
Crocs欧洲官网:Crocs Europe
2020/01/14 全球购物
翻译学院毕业生自荐书
2014/02/02 职场文书
如何写辞职信
2015/05/13 职场文书
2016简历自荐信优秀范文
2016/01/29 职场文书
字典算法实现及操作 --python(实用)
2021/03/31 Python
Python3 类型标注支持操作
2021/06/02 Python
MySQL系列之四 SQL语法
2021/07/02 MySQL