python实现无边框进度条的实例代码


Posted in Python onDecember 30, 2020

上python课程时需要设计一个系统,想着为系统加一个启动动画,所以做成了图片加进度条的形式。
本文旨在用python实现无边框的进度条,并在其基础上加了图片,体现了某程序加载动画的效果

实现说明

1.进度条的部分用到了tkinter中的画布组件
2.图片无边框显示用到了PYQT5中的QMainWindow, QApplication
(由于水平有限,只好用两个不同的库来实现)

源代码

import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QMainWindow, QApplication
import time
from tkinter import *
class MainWIndow(QMainWindow):
 def __init__(self, parent=None):
  super(MainWIndow, self).__init__(parent)
  self.resize(500, 667)
  self.setWindowTitle('私人医生 copyright@2020 1.2.1')

  # 设置无边框窗口样式
  self.setWindowFlags(Qt.FramelessWindowHint)

  #子窗口,窗口无按钮 ,但有标题,可注释掉观察效果
  self.setWindowFlags(Qt.SubWindow)

  self.setObjectName("MainWindow")
  self.setStyleSheet("#MainWindow{border-image:url(images/python.jpg);}")

if __name__ == '__main__':
 app = QApplication(sys.argv)
 win = MainWIndow()
 win.show()
 
#更新进度条函数
def change_schedule(now_schedule,all_schedule):
 canvas.coords(fill_rec, (5, 5, 6 + (now_schedule/all_schedule)*100, 25))
 root.update()
 #进度显示
 x.set(str(round(now_schedule/all_schedule*100,2)) + '%')
 if round(now_schedule/all_schedule*100,2) == 100.00:
  x.set("完成")

#创建画布
root = Tk()

#画布位置控制,前两个参数为宽度和高度,后两个参数为xy坐标
root.geometry("480x30+720+830")
#创建画布
frame = Frame(root).grid(row = 0,column = 0)
#使用时将框架根据情况选择新的位置
canvas = Canvas(frame,bg = "white")
canvas.grid(row = 0,column = 0)
x = StringVar()
#隐藏标题栏
root.overrideredirect(True)
#将边框像素设置为0,即取消边框
canvas.configure(highlightthickness=0)
#进度条以及完成程度
#设置矩形,无填充即为边框
out_rec = canvas.create_rectangle(5,5,480,25,outline = "red",width = 1)
fill_rec = canvas.create_rectangle(5,5,5,25,outline = "",width = 0,fill = "blue")
Label(frame,textvariable = x).grid(row = 0,column = 1)
 
for i in range(480):
 time.sleep(0.01)
 
 change_schedule(i,99)

#root.mainloop()

运行截图

python实现无边框进度条的实例代码

到此这篇关于python实现无边框进度条的实例代码的文章就介绍到这了,更多相关python无边框进度条内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python入门篇之正则表达式
Oct 20 Python
python搭建虚拟环境的步骤详解
Sep 27 Python
python爬虫入门教程--快速理解HTTP协议(一)
May 25 Python
Python升级导致yum、pip报错的解决方法
Sep 06 Python
获取Django项目的全部url方法详解
Oct 26 Python
使用python编写简单的小程序编译成exe跑在win10上
Jan 15 Python
Python3.7 新特性之dataclass装饰器
May 27 Python
pygame实现贪吃蛇游戏(下)
Oct 29 Python
使用 Supervisor 监控 Python3 进程方式
Dec 05 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
Apr 26 Python
python os模块常用的29种方法使用详解
Jun 02 Python
python中用Scrapy实现定时爬虫的实例讲解
Jan 18 Python
python中的列表和元组区别分析
Dec 30 #Python
python实现xml转json文件的示例代码
Dec 30 #Python
python实现KNN近邻算法
Dec 30 #Python
python 实现逻辑回归
Dec 30 #Python
Python 随机按键模拟2小时
Dec 30 #Python
Python的scikit-image模块实例讲解
Dec 30 #Python
用Python实现职工信息管理系统
Dec 30 #Python
You might like
php实现自动获取生成文章主题关键词功能的深入分析
2013/06/03 PHP
php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
2014/06/19 PHP
PHP中preg_match函数正则匹配的字符串长度问题
2015/05/27 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
2020/05/27 PHP
如何用javascript去掉字符串里的所有空格
2007/02/08 Javascript
关于html+ashx开发中几个问题的解决方法
2011/07/18 Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
2013/05/07 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
2014/02/13 Javascript
javascript数字时钟示例分享
2014/04/23 Javascript
js数组的基本操作(很全自己整理的)
2014/10/16 Javascript
js实现的动画导航菜单效果代码
2015/09/10 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
2017/02/03 Javascript
Bootstrap响应式表格详解
2017/05/23 Javascript
Angular使用 ng-img-max 调整浏览器中的图片的示例代码
2017/08/17 Javascript
浅谈vue-router 路由传参的方法
2017/12/27 Javascript
JavaScript实现shuffle数组洗牌操作示例
2019/01/03 Javascript
JavaScript键盘事件常见用法实例分析
2019/01/03 Javascript
JS使用正则表达式判断输入框失去焦点事件
2019/10/16 Javascript
微信小程序转发事件实现解析
2019/10/22 Javascript
在Python中使用itertools模块中的组合函数的教程
2015/04/13 Python
Python的re模块正则表达式操作
2016/05/25 Python
Python实现比较扑克牌大小程序代码示例
2017/12/06 Python
Python编程实现线性回归和批量梯度下降法代码实例
2018/01/04 Python
Python request设置HTTPS代理代码解析
2018/02/12 Python
浅谈pandas中shift和diff函数关系
2018/04/08 Python
python使用socket 先读取长度,在读取报文内容示例
2019/09/26 Python
Python threading.local代码实例及原理解析
2020/03/16 Python
Django model重写save方法及update踩坑详解
2020/07/27 Python
Visual Studio code 配置Python开发环境
2020/09/11 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
2020/10/14 Python
大学生活动总结模板
2014/07/02 职场文书
运动会演讲稿200字
2014/08/25 职场文书
计生办班子群众路线教育实践活动个人对照检查材料思想汇报
2014/10/04 职场文书
欠款证明
2015/06/24 职场文书
python-for x in range的用法(注意要点、细节)
2021/05/10 Python
SSM项目使用拦截器实现登录验证功能
2022/01/22 Java/Android