python實現(xiàn)無邊框進(jìn)度條的實例代碼
上python課程時需要設(shè)計一個系統(tǒng),想著為系統(tǒng)加一個啟動動畫,所以做成了圖片加進(jìn)度條的形式。
本文旨在用python實現(xiàn)無邊框的進(jìn)度條,并在其基礎(chǔ)上加了圖片,體現(xiàn)了某程序加載動畫的效果
實現(xiàn)說明
1.進(jìn)度條的部分用到了tkinter中的畫布組件
2.圖片無邊框顯示用到了PYQT5中的QMainWindow, QApplication
(由于水平有限,只好用兩個不同的庫來實現(xiàn))
源代碼
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('私人醫(yī)生 copyright@2020 1.2.1')
# 設(shè)置無邊框窗口樣式
self.setWindowFlags(Qt.FramelessWindowHint)
#子窗口,窗口無按鈕 ,但有標(biāo)題,可注釋掉觀察效果
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()
#更新進(jìn)度條函數(shù)
def change_schedule(now_schedule,all_schedule):
canvas.coords(fill_rec, (5, 5, 6 + (now_schedule/all_schedule)*100, 25))
root.update()
#進(jìn)度顯示
x.set(str(round(now_schedule/all_schedule*100,2)) + '%')
if round(now_schedule/all_schedule*100,2) == 100.00:
x.set("完成")
#創(chuàng)建畫布
root = Tk()
#畫布位置控制,前兩個參數(shù)為寬度和高度,后兩個參數(shù)為xy坐標(biāo)
root.geometry("480x30+720+830")
#創(chuàng)建畫布
frame = Frame(root).grid(row = 0,column = 0)
#使用時將框架根據(jù)情況選擇新的位置
canvas = Canvas(frame,bg = "white")
canvas.grid(row = 0,column = 0)
x = StringVar()
#隱藏標(biāo)題欄
root.overrideredirect(True)
#將邊框像素設(shè)置為0,即取消邊框
canvas.configure(highlightthickness=0)
#進(jìn)度條以及完成程度
#設(shè)置矩形,無填充即為邊框
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()
運行截圖

到此這篇關(guān)于python實現(xiàn)無邊框進(jìn)度條的實例代碼的文章就介紹到這了,更多相關(guān)python無邊框進(jìn)度條內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python?DataFrame數(shù)據(jù)分組統(tǒng)計groupby()函數(shù)的使用
在python的DataFrame中對數(shù)據(jù)進(jìn)行分組統(tǒng)計主要使用groupby()函數(shù),本文主要介紹了python?DataFrame數(shù)據(jù)分組統(tǒng)計groupby()函數(shù)的使用,具有一定的參考價值,感興趣的可以了解一下2022-03-03
Python+OpenCV實現(xiàn)車牌字符分割和識別
這篇文章主要為大家詳細(xì)介紹了Python+OpenCV實現(xiàn)車牌字符分割和識別,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03
Python3中l(wèi)ambda表達(dá)式與函數(shù)式編程講解
今天小編就為大家分享一篇關(guān)于Python3中l(wèi)ambda表達(dá)式與函數(shù)式編程講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-01-01
使用Python創(chuàng)建一個能夠篩選文件的PDF合并工具
這篇文章主要為大家詳細(xì)介紹了如何使用Python創(chuàng)建一個能夠篩選文件的PDF合并工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2025-02-02

