python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例


Posted in Python onMarch 06, 2020

PyQt5滚动条控件QScrollBar简介

可以看到,前面介绍的几个窗口控件的共同点是新建一些窗口来装载更多的控件,而QScrollBar提供了另一种思路:这个控件提供水平的或垂直的滚动条,这样可以扩大当前窗口的有效装载面积,从而装载更多的控件

QScrollBar类中常用的信号

信号 含义
valueChanged 当滑动条的值改变发射此信号
sliderMoved 当用户拖动滑块时发射此信号

QScrollBar的使用实例

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *

class Example(QWidget):
  def __init__(self):
    super(Example, self).__init__()
    self.initUI()

  def initUI(self):
    #水平布局
    HBox=QHBoxLayout()

    #创建标签以及显示文本,设置字体类型和字号大小
    self.l1=QLabel('拖动滑块改变颜色')
    self.l1.setFont(QFont('Arial',16))

    #添加到布局中
    HBox.addWidget(self.l1)

    #创建滑块,设置最大值,滑动信号关联到槽函数
    self.s1=QScrollBar()
    self.s1.setMaximum(255)
    self.s1.sliderMoved.connect(self.sliderval)

    self.s2=QScrollBar()
    self.s2.setMaximum(255)
    self.s2.sliderMoved.connect(self.sliderval)

    self.s3=QScrollBar()
    self.s3.setMaximum(255)
    self.s3.sliderMoved.connect(self.sliderval)

    #添加部件到布局中
    HBox.addWidget(self.s1)
    HBox.addWidget(self.s2)
    HBox.addWidget(self.s3)

    #初始化位置以及初始窗口大小,设置整体布局方式和标题
    self.setGeometry(300,300,300,200)
    self.setWindowTitle('QScrollBar例子')
    self.setLayout(HBox)

  def sliderval(self):
    #输出当前三个滑块位置所代表的值
    print(self.s1.value(),self.s2.value(),self.s3.value())

    #实例化调色板对象,设置颜色为三个滑块的值
    palette=QPalette()
    c=QColor(self.s1.value(),self.s2.value(),self.s3.value())
    palette.setColor(QPalette.Foreground,c)

    #设置标签的调色板,加载属性
    self.l1.setPalette(palette)
if __name__ == '__main__':
  app=QApplication(sys.argv)
  demo=Example()
  demo.show()
  sys.exit(app.exec_())

运行效果图如下

python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例

代码解析

在这个例子中,设置了三个滑动条来控制标签中显示的文字的字体颜色的RGB值

当滑块滑动时,将sliderMoved信号与槽函数连接起来

self.s3.sliderMoved.connect(self.sliderval)

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

Python 相关文章推荐
初学Python实用技巧两则
Aug 29 Python
Python常见字符串操作函数小结【split()、join()、strip()】
Feb 02 Python
python根据txt文本批量创建文件夹
Dec 08 Python
十分钟搞定pandas(入门教程)
Jun 21 Python
python爬虫神器Pyppeteer入门及使用
Jul 13 Python
基于多进程中APScheduler重复运行的解决方法
Jul 22 Python
Python hashlib模块实例使用详解
Dec 24 Python
Python sep参数使用方法详解
Feb 12 Python
Python selenium文件上传下载功能代码实例
Apr 13 Python
Python使用多进程运行含有任意个参数的函数
May 02 Python
使用python批量修改XML文件中图像的depth值
Jul 22 Python
python+selenium小米商城红米K40手机自动抢购的示例代码
Mar 24 Python
Python object类中的特殊方法代码讲解
Mar 06 #Python
python+Selenium自动化测试——输入,点击操作
Mar 06 #Python
使用 Python ssh 远程登陆服务器的最佳方案
Mar 06 #Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
Mar 06 #Python
python解析xml文件方式(解析、更新、写入)
Mar 05 #Python
如何使用pandas读取txt文件中指定的列(有无标题)
Mar 05 #Python
python批量替换文件名中的共同字符实例
Mar 05 #Python
You might like
PHP中的正规表达式(二)
2006/10/09 PHP
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
2016/01/07 PHP
laravel框架模型和数据库基础操作实例详解
2020/01/25 PHP
解决表单中第一个非隐藏的元素获得焦点的一个方案
2009/10/26 Javascript
js常用自定义公共函数汇总
2014/01/15 Javascript
javascript数组去重方法汇总
2015/04/23 Javascript
jQuery实现限制textarea文本框输入字符数量的方法
2015/05/28 Javascript
使用AngularJS实现表单向导的方法
2015/06/19 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
Ionic快速安装教程
2016/06/03 Javascript
JavaScript基础语法之js表达式
2016/06/07 Javascript
使用ionic播放轮询广告的实现方法(必看)
2017/04/24 Javascript
JS获取数组中出现次数最多及第二多元素的方法
2017/10/27 Javascript
nuxt框架中路由鉴权之Koa和Session的用法
2018/05/09 Javascript
Vue使用高德地图搭建实时公交应用功能(地图 + 附近站点+线路详情 + 输入提示+换乘详情)
2018/05/16 Javascript
vue组件name的作用小结
2018/05/23 Javascript
js与jquery获取input输入框中的值实例讲解
2020/02/27 jQuery
JavaScript面向对象核心知识与概念归纳整理
2020/05/09 Javascript
Python实现图片拼接的代码
2018/07/02 Python
python3+pyqt5+itchat微信定时发送消息的方法
2019/02/20 Python
django之静态文件 django 2.0 在网页中显示图片的例子
2019/07/28 Python
python爬虫 2019中国好声音评论爬取过程解析
2019/08/26 Python
通过实例解析python描述符原理作用
2020/01/22 Python
Python 实现向word(docx)中输出
2020/02/13 Python
浅析Python 责任链设计模式
2020/09/11 Python
python自动化测试三部曲之unittest框架的实现
2020/10/07 Python
俄罗斯厨房产品购物网站:COOK HOUSE
2021/03/15 全球购物
面向对象概念面试题(.NET)
2016/11/04 面试题
农民入党思想汇报
2014/01/03 职场文书
房地产广告策划方案
2014/05/15 职场文书
高考升学宴答谢词
2015/01/20 职场文书
2015年工程师工作总结
2015/04/30 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书
烈士陵园观后感
2015/06/08 职场文书
新闻稿件写作技巧
2015/07/18 职场文书
Redis 中使用 list,streams,pub/sub 几种方式实现消息队列的问题
2022/03/16 Redis