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字符遍历的艺术
Sep 06 Python
python类参数self使用示例
Feb 17 Python
Python格式化压缩后的JS文件的方法
Mar 05 Python
python 写的一个爬虫程序源码
Feb 28 Python
Python读取stdin方法实例
May 24 Python
python2和python3应该学哪个(python3.6与python3.7的选择)
Oct 01 Python
pygame实现俄罗斯方块游戏(AI篇1)
Oct 29 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
Nov 15 Python
Python argparse模块应用实例解析
Nov 15 Python
Python run()函数和start()函数的比较和差别介绍
May 03 Python
python爬虫今日热榜数据到txt文件的源码
Feb 23 Python
Python面向对象编程之类的概念
Nov 01 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
Win2000+Apache+MySql+PHP4+PERL安装使用小结
2006/10/09 PHP
利用php来自动调用不同服务器上的flash
2006/10/09 PHP
解析php中heredoc的使用方法
2013/06/17 PHP
php的ddos攻击解决方法
2015/01/08 PHP
apache和PHP如何整合在一起
2015/10/12 PHP
PHP面向对象之事务脚本模式(详解)
2017/06/07 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
My Desktop :) 桌面式代码
2008/12/29 Javascript
js分页代码分享
2014/04/28 Javascript
AngularJS基础教程之简单介绍
2015/09/27 Javascript
json对象与数组以及转换成js对象的简单实现方法
2016/06/24 Javascript
js编写一个简单的产品放大效果代码
2016/06/27 Javascript
JavaScript中的await/async的作用和用法
2016/10/31 Javascript
深入理解jQuery()方法的构建原理
2016/12/05 Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
2017/04/22 Javascript
jQuery回调方法使用示例
2017/06/26 jQuery
Nodejs+express+ejs简单使用实例代码
2017/09/18 NodeJs
从零开始搭建一个react项目开发
2018/02/09 Javascript
详解基于node.js的脚手架工具开发经历
2019/01/28 Javascript
JS中FormData类实现文件上传
2020/03/27 Javascript
详解在Vue.js编写更好的v-for循环的6种技巧
2020/04/14 Javascript
[02:22]完美世界DOTA2联赛PWL S3 集锦第一期
2020/12/15 DOTA
简单介绍Python中的JSON使用
2015/04/28 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
2018/01/05 Python
Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法
2020/04/18 Python
Flask配置Cors跨域的实现
2019/07/12 Python
Python基础类继承重写实现原理解析
2020/04/03 Python
巴西网上药房:onofre
2016/11/21 全球购物
美国职棒大联盟官方网上商店:MLBShop.com
2017/11/12 全球购物
煤矿安全生产月活动总结
2014/07/05 职场文书
付款委托书范本
2014/10/05 职场文书
审计局2014法制宣传日活动总结
2014/11/01 职场文书
2014年宣传部个人工作总结
2014/12/06 职场文书
2015年综治维稳工作总结
2015/04/07 职场文书
2016见义勇为事迹材料汇总
2016/03/01 职场文书
解决golang post文件时Content-Type出现的问题
2021/05/02 Golang