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 算法 排序实现快速排序
Jun 05 Python
python清除指定目录内所有文件中script的方法
Jun 30 Python
python处理html转义字符的方法详解
Jul 01 Python
详解Python多线程
Nov 14 Python
Python编程对列表中字典元素进行排序的方法详解
May 26 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
Jan 24 Python
Django2.1.3 中间件使用详解
Nov 26 Python
使用python读取.text文件特定行的数据方法
Jan 28 Python
python调用虹软2.0第三版的具体使用
Feb 22 Python
python 求某条线上特定x值或y值的点坐标方法
Jul 09 Python
Python帮你识破双11的套路
Nov 11 Python
python中_del_还原数据的方法
Dec 09 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以mysqli方式连接类完整代码实例
2014/07/15 PHP
PHP中的类型约束介绍
2015/05/11 PHP
PHP合并数组+号和array_merge的区别
2015/06/25 PHP
在laravel中实现事务回滚的方法
2019/10/10 PHP
基于jquery的图片懒加载js
2010/06/30 Javascript
js返回上一页并刷新代码整理
2012/12/21 Javascript
jquery ajax的success回调函数中实现按钮置灰倒计时
2013/11/19 Javascript
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
JavaScript数组Array对象增加和删除元素方法总结
2015/01/20 Javascript
JavaScript中switch语句的用法详解
2015/06/03 Javascript
JS实现的简洁二级导航菜单雏形效果
2015/10/13 Javascript
跟我学习javascript的函数和函数表达式
2015/11/16 Javascript
jQuery版本升级踩坑大全
2016/01/12 Javascript
Angular.js中控制器之间的传值详解
2017/04/24 Javascript
微信小程序实现表单校验功能
2020/03/30 Javascript
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
2018/02/14 Javascript
一种angular的方法级的缓存注解(装饰器)
2018/03/13 Javascript
jQuery实现的页面详情展开收起功能示例
2018/06/11 jQuery
Nodejs异步流程框架async的方法
2019/06/07 NodeJs
Vue vm.$attrs使用场景详解
2020/03/08 Javascript
JS实现图片幻灯片效果代码实例
2020/05/21 Javascript
python装饰器使用方法实例
2013/11/21 Python
python实现报表自动化详解
2017/11/16 Python
安装python3的时候就是输入python3死活没有反应的解决方法
2018/01/24 Python
如何用Python来理一理红楼梦里的那些关系
2019/08/14 Python
感知器基础原理及python实现过程详解
2019/09/30 Python
Python 操作 MySQL数据库
2020/09/18 Python
大学生自我鉴定范文模板
2014/01/21 职场文书
在校大学生个人的自我评价
2014/02/13 职场文书
篝火晚会主持词
2014/03/25 职场文书
司法局群众路线教育实践活动整改措施
2014/09/17 职场文书
2015年保险业务员工作总结
2015/05/27 职场文书
2015秋季开学典礼演讲稿
2015/07/16 职场文书
vue3使用vue-router的完整步骤记录
2021/06/20 Vue.js
Pycharm连接远程服务器并远程调试的全过程
2021/06/24 Python
Python实现批量将文件复制到新的目录中再修改名称
2022/04/12 Python