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全局变量操作详解
Apr 14 Python
在Python程序中操作文件之isatty()方法的使用教程
May 24 Python
Django 2.0版本的新特性抢先看!
Jan 05 Python
python使用循环打印所有三位数水仙花数的实例
Nov 13 Python
pycharm 取消默认的右击运行unittest的方法
Nov 29 Python
Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法
Apr 18 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
Jun 14 Python
python列表切片和嵌套列表取值操作详解
Feb 27 Python
pyinstaller将含有多个py文件的python程序做成exe
Apr 29 Python
OpenCV 之按位运算举例解析
Jun 19 Python
cookies应对python反爬虫知识点详解
Nov 25 Python
如何利用python实现Simhash算法
Jun 28 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文件上传主要代码讲解
2013/09/30 PHP
php二维数组用键名分组相加实例函数
2013/11/06 PHP
php把数组值转换成键的方法
2015/07/13 PHP
yii2项目实战之restful api授权验证详解
2017/05/20 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
ext combox 下拉框不出现自动提示,自动选中的解决方法
2010/02/24 Javascript
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
2011/07/31 Javascript
JS不间断向上滚动效果代码
2013/12/25 Javascript
node.js中的console.assert方法使用说明
2014/12/10 Javascript
javascript感应鼠标图片透明度显示的方法
2015/02/24 Javascript
javascript实现可拖动变色并关闭层窗口实例
2015/05/15 Javascript
JavaScript中的原始值和复杂值
2016/01/07 Javascript
jQuery插件之Tocify动态节点目录菜单生成器附源码下载
2016/01/08 Javascript
jQuery获取多种input值的简单实现方法
2016/06/20 Javascript
javascript 小数乘法结果错误的处理方法
2016/07/28 Javascript
easyUI下拉列表点击事件使用方法
2017/05/18 Javascript
详解webpack babel的配置
2018/01/09 Javascript
vue 使用Jade模板写html,stylus写css的方法
2018/02/23 Javascript
javascript实现前端input密码输入强度验证
2020/06/24 Javascript
[00:47]DOTA2荣耀之路6:天火,天火!
2018/05/30 DOTA
Python 匹配任意字符(包括换行符)的正则表达式写法
2009/10/29 Python
python实现基本进制转换的方法
2015/07/11 Python
python 写的一个爬虫程序源码
2016/02/28 Python
Python中的Descriptor描述符学习教程
2016/06/02 Python
Python中实现switch功能实例解析
2018/01/11 Python
Python Django 命名空间模式的实现
2019/08/09 Python
浅析使用Python搭建http服务器
2019/10/27 Python
Django之choices选项和富文本编辑器的使用详解
2020/04/01 Python
numpy中生成随机数的几种常用函数(小结)
2020/08/18 Python
校长岗位职责
2013/11/26 职场文书
2015年科协工作总结
2015/05/19 职场文书
新学期家长寄语2016
2015/12/03 职场文书
工作转正自我鉴定范文
2019/06/21 职场文书
SQL IDENTITY_INSERT作用案例详解
2021/08/23 MySQL
Redis基本数据类型Set常用操作命令
2022/06/01 Redis
Win10开机修复磁盘错误怎么跳过?Win10关闭开机磁盘检查的方法
2022/09/23 数码科技