栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

(3) PyQt5 实现漂亮进度条 ProgressBar

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

(3) PyQt5 实现漂亮进度条 ProgressBar

目录

一、效果展示

 二、使用Designer设计UI

1、添加背景frame

2、添加文本框Text Edit

3、添加进度条Progress  

三、编写py代码实现

1、将ui编译成py文件

2、设置定时器QTimer

(1)定时器每100ms运行一次,触发函数 load_progress_bar。

(2)load_progress_bar 进度条自动加1,直到100%。

(3)进度条100%后,跳转到下一个窗口

四、效果展示

五、源码下载


一、效果展示

 二、使用Designer设计UI

1、添加背景frame

添加frame,并设置样式。设置样式示例:

Qframe {    background-color: rgb(56, 58, 89);    
    color: rgb(220, 220, 220);
    border-radius: 10px;
}

2、添加文本框Text Edit

3、添加进度条Progress  

 UI界面到此基本Ok。

三、编写py代码实现

1、将ui编译成py文件

命令有2种:PyQt和PySide,分别如下:

# PyQt 安装命令
pip install pyqt5 pyqt5-tools
# 编译qrc文件的命令 
pyrcc5 resource.qrc -o resource.py
# 编译ui文件的命令 
pyuic5 main_window.ui -o main_window.py
# PySide 安装命令 
pip install pyside6
# 编译qrc文件的命令 
pyside6-rcc src.qrc -o dst.py
# 编译ui文件的命令 
pyside6-uic src.ui -o dst.py

这里介绍下二者区别:

PyQt(由 Riverbank Computing 开发维护)是GPLv3协议,使用该代码的程序要开源,如果闭源商用就会违反协议。PyQt历史更长一些,比较稳定,开发社区也比较大,相关的资料都非常成熟。

PySide(又名Qt for Python)是Qt公司的亲儿子,是LGPL协议,免费商用。后起之秀,是Nokia和Riverbank Computing谈免费商用协议LGPL失败后自己开发出来的。

2、设置定时器QTimer

(1)定时器每100ms运行一次,触发函数 load_progress_bar。
    def set_loader(self):
        self.timer = QtCore.QTimer()
        self.timer.timeout.connect(self.load_progress_bar)
        self.timer.start(100)

(2)load_progress_bar 进度条自动加1,直到100%。
    def load_progress_bar(self):
        self.progressBar.setValue(self.progressBar.value() + 1)
        self.label_title.setStyleSheet(f"color: rgb(254, {self.cont_label_title[0]}, 199);")
        self.label_description.setStyleSheet(f"color: rgb(98, {self.cont_label_title[1]}, 164);")
        self.cont_label_title[0] += 1
        self.cont_label_title[1] += 1
        if self.progressBar.value() >= 100:
            self.window.close()
            self.open_table_main()
            self.timer.stop()

(3)进度条100%后,跳转到下一个窗口
    def open_table_main(self):
        self.MainWindow = QtWidgets.QMainWindow()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self.MainWindow)
        self.MainWindow.show()

至此,代码基本完成。

四、效果展示

五、源码下载

https://download.csdn.net/download/lildkdkdkjf/64530401

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/674382.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号