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的print用法示例
Feb 11 Python
python解析中国天气网的天气数据
Mar 21 Python
Python中dictionary items()系列函数的用法实例
Aug 21 Python
python编码总结(编码类型、格式、转码)
Jul 01 Python
django实现用户登陆功能详解
Dec 11 Python
分分钟入门python语言
Mar 20 Python
python中正则表达式与模式匹配
May 07 Python
在python中实现调用可执行文件.exe的3种方法
Jul 07 Python
在Python中获取操作系统的进程信息
Aug 27 Python
Python Django框架模板渲染功能示例
Nov 08 Python
python读取hdfs并返回dataframe教程
Jun 05 Python
Python 按比例获取样本数据或执行任务的实现代码
Dec 03 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
CodeIgniter框架提示Disallowed Key Characters的解决办法
2014/04/21 PHP
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
2014/05/05 PHP
PHP与MYSQL中UTF8 中文排序示例代码
2014/10/23 PHP
Laravel 关联模型-关联新增和关联更新的方法
2019/10/10 PHP
Javascript学习笔记5 类和对象
2010/01/11 Javascript
判断浏览器的javascript版本的代码
2010/09/03 Javascript
javascript预览上传图片发现的问题的解决方法
2010/11/25 Javascript
jquery.cookie.js 操作cookie实现记住密码功能的实现代码
2011/04/27 Javascript
TextArea设置MaxLength属性最大输入值的js代码
2012/12/21 Javascript
九种原生js动画效果
2015/11/11 Javascript
Three.js快速入门教程
2016/09/09 Javascript
微信小程序表单验证错误提示效果
2017/05/19 Javascript
Webpack性能优化 DLL 用法详解
2017/08/10 Javascript
AngularJS实现的base64编码与解码功能示例
2018/05/17 Javascript
利用Electron简单撸一个Markdown编辑器的方法
2019/06/10 Javascript
Python基于辗转相除法求解最大公约数的方法示例
2018/04/04 Python
selenium+python自动化测试之鼠标和键盘事件
2019/01/23 Python
如何基于python实现归一化处理
2020/01/20 Python
pytorch进行上采样的种类实例
2020/02/18 Python
django的403/404/500错误自定义页面的配置方式
2020/05/21 Python
pandas处理csv文件的方法步骤
2020/10/16 Python
用python 绘制茎叶图和复合饼图
2021/02/26 Python
CSS3让登陆面板3D旋转起来
2016/05/03 HTML / CSS
Banggood官网:面向全球客户的综合商城
2017/04/19 全球购物
英国最大的化装舞会服装网站:Fancydress.com
2017/08/15 全球购物
简短证婚人证婚词
2014/01/09 职场文书
学习标兵获奖感言
2014/02/20 职场文书
班级学习计划书
2014/04/27 职场文书
态度决定一切演讲稿
2014/05/20 职场文书
军训拉歌口号
2014/06/13 职场文书
内科护士节演讲稿
2014/09/11 职场文书
小学班主任经验交流材料
2014/12/16 职场文书
社区禁毒宣传活动总结
2015/05/07 职场文书
企业转让协议书(范文2篇)
2019/08/15 职场文书
李清照的诗词赏析(20首)
2019/08/22 职场文书
MySQL 那些常见的错误设计规范,你都知道吗
2021/07/16 MySQL