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

作者:jia666666 时间:2021-04-26 09:11:26 

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控件使用知识请查看下面的相关链接

来源:https://blog.csdn.net/jia666666/article/details/81670824

标签:python,PyQt5,QScrollBar
0
投稿

猜你喜欢

  • Python实现邮件发送的详细设置方法(遇到问题)

    2023-10-05 23:03:00
  • 什么是python的函数体

    2022-07-29 22:09:32
  • python记录程序运行时间的三种方法

    2023-08-25 03:12:19
  • Python3.10新特性之match语句示例详解

    2023-07-23 05:17:23
  • asp如何实现歌曲在线点播?

    2010-05-19 21:32:00
  • 基于python的docx模块处理word和WPS的docx格式文件方式

    2021-11-13 12:07:55
  • Python高效编程技巧

    2023-08-19 17:29:56
  • python多进程读图提取特征存npy

    2022-09-05 11:38:06
  • 详解Django+Uwsgi+Nginx的生产环境部署

    2022-10-30 10:54:17
  • python处理RSTP视频流过程解析

    2023-11-22 00:54:55
  • ORACLE 10g 安装教程[图文]

    2023-07-15 07:07:27
  • 解决selenium模块利用performance获取network日志请求报错的问题(亲测有效)

    2022-12-22 11:09:26
  • Python3安装模块报错Microsoft Visual C++ 14.0 is required的解决方法

    2021-02-14 00:18:22
  • 从零开始搭建基于Python的微信小程序的教程分享

    2022-09-08 19:38:59
  • 详解python之简单主机批量管理工具

    2023-04-24 07:45:44
  • pytorch--之halfTensor的使用详解

    2021-08-18 14:44:08
  • python fabric实现远程操作和部署示例

    2021-07-18 14:22:14
  • 优化SQL Server的内存占用之执行缓存

    2012-04-13 11:45:06
  • Go 语言进阶freecache源码学习教程

    2023-08-06 03:05:20
  • python使用pandas按照行数分割表格

    2021-06-25 03:58:51
  • asp之家 网络编程 m.aspxhome.com