温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用python怎么编写一个无边框的进度条功能

发布时间:2020-12-30 13:52:54 来源:亿速云 阅读:211 作者:Leah 栏目:开发技术

这篇文章将为大家详细讲解有关使用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怎么编写一个无边框的进度条功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI