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 相关文章推荐
pygame学习笔记(6):完成一个简单的游戏
Apr 15 Python
Python tornado队列示例-一个并发web爬虫代码分享
Jan 09 Python
Python中的二维数组实例(list与numpy.array)
Apr 13 Python
tensorflow学习教程之文本分类详析
Aug 07 Python
解决Python中定时任务线程无法自动退出的问题
Feb 18 Python
Python 实现数据结构-循环队列的操作方法
Jul 17 Python
Django视图扩展类知识点详解
Oct 25 Python
Django框架之中间件MiddleWare的实现
Dec 30 Python
解决Python spyder显示不全df列和行的问题
Apr 20 Python
15款Python编辑器的优缺点,别再问我“选什么编辑器”啦
Oct 19 Python
详解Python flask的前后端交互
Mar 31 Python
python神经网络Xception模型
May 06 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采集速度探究总结(原创)
2008/04/18 PHP
PHP 递归效率分析
2009/11/24 PHP
php的debug相关函数用法示例
2016/07/11 PHP
在js中单选框和复选框获取值的方式
2009/11/06 Javascript
简洁短小的 JavaScript IE 浏览器判定代码
2010/03/21 Javascript
JavaScript的Module模式编程深入分析
2013/08/13 Javascript
jQuery阻止事件冒泡具体实现
2013/10/11 Javascript
JS cookie中文乱码解决方法
2014/01/28 Javascript
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
详解AngularJS中的作用域
2015/06/17 Javascript
jquery zTree异步加载、模糊搜索简单实例分享
2016/03/24 Javascript
学JavaScript七大注意事项【必看】
2016/05/04 Javascript
JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
2016/05/19 Javascript
Angularjs结合Bootstrap制作的一个TODO List
2016/08/18 Javascript
AngularJS通过$location获取及改变当前页面的URL
2016/09/23 Javascript
浅谈js对象属性 通过点(.) 和方括号([]) 的不同之处
2016/10/29 Javascript
AngularJS用户选择器指令实例分析
2016/11/04 Javascript
快速实现JS图片懒加载(可视区域加载)示例代码
2017/01/04 Javascript
微信小程序图表插件(wx-charts)实例代码
2017/01/17 Javascript
Vue子组件向父组件通信与父组件调用子组件中的方法
2018/06/22 Javascript
AngularJs中$cookies简单用法分析
2019/05/30 Javascript
VUE路由动态加载实例代码讲解
2019/08/26 Javascript
nodejs一个简单的文件服务器的创建方法
2019/09/13 NodeJs
[02:26]DOTA2英雄米拉娜基础教程
2013/11/25 DOTA
在Linux系统上通过uWSGI配置Nginx+Python环境的教程
2015/12/25 Python
python队列通信:rabbitMQ的使用(实例讲解)
2017/12/22 Python
Python 16进制与中文相互转换的实现方法
2018/07/09 Python
六行python代码的爱心曲线详解
2019/05/17 Python
django中url映射规则和服务端响应顺序的实现
2020/04/02 Python
Python中的整除和取模实例
2020/06/03 Python
Python Scrapy多页数据爬取实现过程解析
2020/06/12 Python
OpenCV Python实现图像指定区域裁剪
2021/03/12 Python
Python使用Pygame绘制时钟
2020/11/29 Python
做一个能自适应高度的textarea的示例代码
2019/09/06 HTML / CSS
美国创意之家:BulbHead
2017/07/12 全球购物
2014年帮扶工作总结
2014/11/26 职场文书