栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

上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无边框进度条内容请搜索考高分网以前的文章或继续浏览下面的相关文章希望大家以后多多支持考高分网!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/15768.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号