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实现在每个独立进程中运行一个函数的方法
Apr 23 Python
Python中DJANGO简单测试实例
May 11 Python
在Django的视图(View)外使用Session的方法
Jul 23 Python
利用Django内置的认证视图实现用户密码重置功能详解
Nov 24 Python
Python实现PS滤镜中马赛克效果示例
Jan 20 Python
分析python动态规划的递归、非递归实现
Mar 04 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
May 10 Python
Flask框架通过Flask_login实现用户登录功能示例
Jul 17 Python
python 随机森林算法及其优化详解
Jul 11 Python
PyCharm无法引用自身项目解决方式
Feb 12 Python
5行Python代码实现图像分割的步骤详解
May 25 Python
Anaconda安装pytorch及配置PyCharm 2021环境
Jun 04 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
DC《小丑》11项提名领跑奥斯卡 Netflix成第92届奥斯卡提名最大赢家
2020/04/09 欧美动漫
PHP STRING 陷阱原理说明
2010/07/24 PHP
php读取文件内容到数组的方法
2015/03/16 PHP
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
joomla组件开发入门教程
2016/05/04 PHP
解决js中window.open弹出的是上次的缓存页面问题
2013/12/29 Javascript
jQuery中ajax和post处理json的不同示例对比
2014/11/02 Javascript
jquery ui dialog替代confirm实例分析
2016/01/25 Javascript
javascript函数自动执行常用方法汇总
2016/03/28 Javascript
AngularJS  自定义指令详解及实例代码
2016/09/14 Javascript
Sortable.js拖拽排序使用方法解析
2016/11/04 Javascript
javascript中的后退和刷新实现方法
2016/11/10 Javascript
node中使用es5/6以及支持性与性能对比
2017/08/11 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
2017/10/27 Javascript
Angular实现点击按钮后在上方显示输入内容的方法
2017/12/27 Javascript
js中如何完美的解析数据
2018/03/18 Javascript
Vue-不允许嵌套式的渲染方法
2018/09/13 Javascript
在vue中动态添加class类进行显示隐藏实例
2019/11/09 Javascript
原生JS生成指定位数的验证码
2020/10/28 Javascript
JavaScript实现滑块验证解锁
2021/01/07 Javascript
[06:21]完美世界亚洲区首席发行官竺琦TI3采访
2013/08/26 DOTA
[01:15:36]加油刀塔第二期网络版
2014/08/09 DOTA
解决csv.writer写入文件有多余的空行问题
2018/07/06 Python
Python函数返回不定数量的值方法
2019/01/22 Python
python+selenium实现简历自动刷新的示例代码
2019/05/20 Python
python中树与树的表示知识点总结
2019/09/14 Python
使用Tensorflow实现可视化中间层和卷积层
2020/01/24 Python
Python单链表原理与实现方法详解
2020/02/22 Python
Python脚本实现监听服务器的思路代码详解
2020/05/28 Python
Pytorch实现将模型的所有参数的梯度清0
2020/06/24 Python
社区国庆节活动方案
2014/02/05 职场文书
2014年百日安全生产活动总结
2014/05/04 职场文书
年终晚会活动方案
2014/08/21 职场文书
保研专家推荐信范文
2015/03/25 职场文书
员工旷工检讨书
2015/08/15 职场文书
海康机器人重磅发布全新算法开发平台VM4.2
2022/04/21 数码科技