PyQt5之滑块及滑动条控件

这篇具有很好参考价值的文章主要介绍了PyQt5之滑块及滑动条控件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、QSlider和QprogressBar的组合

QSlider / QScrollBar

在Input Widgets分组中,QSlider和QScrollBar是两个滑动型输入组件

PyQt5之滑块及滑动条控件
QSlider和ScrollBar都是从QAbstractSlider类继承来的,拥有一些相同的属性,通过属性编辑器可以查看效果。
PyQt5之滑块及滑动条控件

属性 含义
minimum、maximum 输入范围的最小值和最大值
singleStep 单步长,拖动标尺上的滑块,或按下左、右键时的最小变化数值
pageStep 按PgUp或PgDn键时变化的数值
value 当前值,拖动滑块时自动改变此值
sliderPosition 滑块的位置,若tracking属性设置为True,sliderPosition就等于value
tracking sliderPosition是否等同于value
orientation Slider、ScrollBar的方向,可以设置为水平或垂直
invertedAppearance 显示方向是否为反方向
invertedControls 反向按键控制

QprogressBar

在Display Widgets分组中,QprogressBar是进度条显示组件
PyQt5之滑块及滑动条控件
QprogressBar的父类是QWidget,一般用于进度显示,常用的属性如下:

属性 含义
minimum、maximum 输入范围的最小值和最大值
value 当前值,可以设定或读取当前值
textVisible 是否显示文字,文字一般是百分比表示进度
orientation 可以设置为水平或垂直
format 显示文字的格式,“%p%”显示百分比,“%v”显示当前值,默认为“%p%”

完整代码

ui_Widget.py

# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'ui_Widget.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_proBar(object):
    def setupUi(self, proBar):
        proBar.setObjectName("proBar")
        proBar.resize(400, 300)
        self.horizontalSlider = QtWidgets.QSlider(proBar)
        self.horizontalSlider.setGeometry(QtCore.QRect(60, 40, 171, 16))
        self.horizontalSlider.setOrientation(QtCore.Qt.Horizontal)
        self.horizontalSlider.setObjectName("horizontalSlider")
        self.horizontalScrollBar = QtWidgets.QScrollBar(proBar)
        self.horizontalScrollBar.setGeometry(QtCore.QRect(50, 80, 181, 16))
        self.horizontalScrollBar.setOrientation(QtCore.Qt.Horizontal)
        self.horizontalScrollBar.setObjectName("horizontalScrollBar")
        self.progressBar = QtWidgets.QProgressBar(proBar)
        self.progressBar.setGeometry(QtCore.QRect(60, 130, 201, 23))
        self.progressBar.setProperty("value", 0)
        self.progressBar.setObjectName("progressBar")

        self.retranslateUi(proBar)
        QtCore.QMetaObject.connectSlotsByName(proBar)

    def retranslateUi(self, proBar):
        _translate = QtCore.QCoreApplication.translate
        proBar.setWindowTitle(_translate("proBar", "Form"))
        

ui_Widget_main.py

# -*- coding: utf-8 -*-
# @Time    : 2022/9/27 9:47
import sys
from PyQt5.QtWidgets import QWidget, QApplication
from PyQt5.QtGui import QPixmap
from ui_Widget import Ui_proBar

class QmyWidget(QWidget):
    def __init__(self, parent = None):
        super().__init__(parent)
        self.ui = Ui_proBar()
        self.ui.setupUi(self)

        self.ui.horizontalSlider.setMaximum(100)
        self.ui.horizontalScrollBar.setMaximum(100)
        self.ui.progressBar.setMaximum(100)

		#将滑块/滑动条的 valueChanged 信号连接到 do_valueChanged 方法(槽)
        self.ui.horizontalSlider.valueChanged.connect(self.do_valueChanged)
        self.ui.horizontalScrollBar.valueChanged.connect(self.do_valueChanged)

    #自定义槽函数 do_valueChanged(),根据传递来的参数 value ,设置为 progressBar 的当前值
    def do_valueChanged(self, value):
        self.ui.progressBar.setValue(value)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    proBar = QmyWidget()
    proBar.show()
    sys.exit(app.exec_())

运行结果

PyQt5之滑块及滑动条控件

二、QSlider和QPixmap的组合

完整代码

ui_927.py

# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'ui_927.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_proBar(object):
    def setupUi(self, proBar):
        proBar.setObjectName("proBar")
        proBar.resize(400, 300)
        self.horizontalSlider = QtWidgets.QSlider(proBar)
        self.horizontalSlider.setGeometry(QtCore.QRect(60, 40, 171, 16))
        self.horizontalSlider.setOrientation(QtCore.Qt.Horizontal)
        self.horizontalSlider.setObjectName("horizontalSlider")
        self.label = QtWidgets.QLabel(proBar)
        self.label.setGeometry(QtCore.QRect(240, 10, 151, 111))
        self.label.setObjectName("label")

        self.retranslateUi(proBar)
        QtCore.QMetaObject.connectSlotsByName(proBar)

    def retranslateUi(self, proBar):
        _translate = QtCore.QCoreApplication.translate
        proBar.setWindowTitle(_translate("proBar", "Form"))
        self.label.setText(_translate("proBar", "picture"))

ui_927_main.py

# -*- coding: utf-8 -*-
# @Time    : 2022/9/27 9:47
import sys
from PyQt5.QtWidgets import QWidget, QApplication
from PyQt5.QtGui import QPixmap
from ui_927 import Ui_proBar

class QmyWidget(QWidget):
    def __init__(self, parent = None):
        super().__init__(parent)
        self.ui = Ui_proBar()
        self.ui.setupUi(self)

        self.ui.horizontalSlider.setMaximum(100)
        self.ui.label.setPixmap(QPixmap("./images/01.png"))

        self.ui.horizontalSlider.valueChanged.connect(self.do_valueChanged)

    def do_valueChanged(self, value):
        if value < 30:
            self.ui.label.setPixmap(QPixmap("./images/02.png"))
        elif 30 <= value < 60:
            self.ui.label.setPixmap(QPixmap("./images/03.png"))
        else:
            self.ui.label.setPixmap(QPixmap("./images/04.png"))

if __name__ == "__main__":
    app = QApplication(sys.argv)
    proBar = QmyWidget()
    proBar.show()
    sys.exit(app.exec_())

运行结果

PyQt5之滑块及滑动条控件文章来源地址https://www.toymoban.com/news/detail-515522.html


到了这里,关于PyQt5之滑块及滑动条控件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • selenium之滑块操作

    滑块作为安全验证机制的一种,经常在登录或者注册时涉及。但是在自动化测试时,需要想办法用代码的方式来处理滑块。 selenium中对滑块的操作基本是采用元素拖曳的方式,而这种方式需要用到selenium的Actionchains功能模块的drag_and_drop_by_offset方法。 示例:以携程网的注册页

    2024年02月12日
    浏览(19)
  • Selenium之滑块处理

    以携程为例:  1、先同意协议 2、拉动滑块 处理滑块思路如下 1、先找到滑块和滑轨目标元素 2、利用ActionChains中的drag_and_drop_by_offset方法将滑块拖动至目标位置 drag_and_drop_by_offset(source,xoffset,yoffset)参数说明:(源,目标位置横坐标,目标位置纵坐标) 完整代码:

    2024年02月09日
    浏览(26)
  • 爬虫网易易盾滑块及轨迹算法案例:某乎

    声明: 该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关 一、滑块初步分析 js运行 atob(‘aHR0cHM6Ly93d3cuemhpaHUuY29tL3NpZ25pbg==’) 拿到网址,浏览器打开网站,F12打开调试工具,清除cookie、storage,刷新页面 在Network中找到api/v2/

    2024年01月21日
    浏览(29)
  • python pyqt5部分控件操作,包括弹窗等

    import sys, fitz from reportlab.lib.pagesizes import portrait from reportlab.pdfgen import canvas from PIL import Image as ima import os #import jm from pypinyin import lazy_pinyin import traceback, base64 from PyQt5.QtWidgets import QMessageBox import sys, traceback from PyQt5.QtWidgets import QApplication, QMainWindow, QFileDialog, QAction from PyQt5 impor

    2023年04月21日
    浏览(26)
  • PyQt5常用控件大全(详尽方法 + 实例操作,持续更新中…)

    1.1 简介         标签控件主要用于显示用户不能编辑的文本,标识窗体上的对象(例如:给文本框、列表框添加,描述信息等)。它对应PyQt5中的QLabel类,Label控件在本质上是QLabel类的一个对象。         在Qt Designer设计器中,它的图标如下图所示: 1.2 设置标签文本

    2024年02月02日
    浏览(42)
  • ChatGPT解答:PYQT5 美化各种控件的方案和实例

    ChatGPT解答:PYQT5 美化各种控件的方案和实例 修改按钮样式 修改标签样式 修改文本框样式 修改窗口样式 修改表格样式 修改下拉框样式 修改进度条样式 修改复选框样式 修改滑动条样式 修改菜单栏样式 以上是一些常见控件的美化方案和实例,可以根据自己的需求进行修改和

    2023年04月25日
    浏览(78)
  • 基于PyQt5的UI界面开发——对基本控件的介绍

    在PyQt中,控件是用户界面上的可见元素。控件可以包括按钮、标签、文本框、进度条等。每个控件都有自己的属性和方法,可以通过编程方式进行调整和操作。 以下是一些常用的PyQt控件: QLabel(标签):用于显示文本或图片的静态控件。 QPushButton(按钮):用于触发特定动

    2024年02月16日
    浏览(29)
  • PyQt5桌面应用开发(16):定制化控件-QPainter绘图

    PyQt5桌面应用开发(1):需求分析 PyQt5桌面应用开发(2):事件循环 PyQt5桌面应用开发(3):并行设计 PyQt5桌面应用开发(4):界面设计 PyQt5桌面应用开发(5):对话框 PyQt5桌面应用开发(6):文件对话框 PyQt5桌面应用开发(7):文本编辑+语法高亮与行号 PyQt5桌面应用开

    2024年02月06日
    浏览(47)
  • pyqt5控件自适应窗口知识点汇总(超详细讲解,持续更新中…)

    本文涉及:Windows操作系统,Python,PyQt5,Qt Designer,PyCharm 目录 一、自适应原理  二、基础布局示例 三、高级布局示例:布局嵌套布局 四、其它特殊控件自适应补充 1. tableWidget  2. 未完待续… 五、结语         自适应其实很简单,只要搞懂原理,你就能随心所欲地去布置你

    2024年02月02日
    浏览(32)
  • QT基础:QSlider 滑块的简单演示

    QSlider 是一个滑块组件,常用于播放视频的状态栏,显示视频播放的进度; 它的样式当然也是可以改变的,关于它的详细介绍可以参考:Qt 之 QSlider 这里主要演示以下常用信号: 滑块共有两种,一种是水平的,一种是垂直的,它们的区别只是放置的方向不同而已 这里主要演

    2024年02月15日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包