python實(shí)現(xiàn)無(wú)邊框進(jìn)度條的實(shí)例代碼
上python課程時(shí)需要設(shè)計(jì)一個(gè)系統(tǒng),想著為系統(tǒng)加一個(gè)啟動(dòng)動(dòng)畫(huà),所以做成了圖片加進(jìn)度條的形式。
本文旨在用python實(shí)現(xiàn)無(wú)邊框的進(jìn)度條,并在其基礎(chǔ)上加了圖片,體現(xiàn)了某程序加載動(dòng)畫(huà)的效果
實(shí)現(xiàn)說(shuō)明
1.進(jìn)度條的部分用到了tkinter中的畫(huà)布組件
2.圖片無(wú)邊框顯示用到了PYQT5中的QMainWindow, QApplication
(由于水平有限,只好用兩個(gè)不同的庫(kù)來(lái)實(shí)現(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è)置無(wú)邊框窗口樣式 self.setWindowFlags(Qt.FramelessWindowHint) #子窗口,窗口無(wú)按鈕 ,但有標(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)建畫(huà)布 root = Tk() #畫(huà)布位置控制,前兩個(gè)參數(shù)為寬度和高度,后兩個(gè)參數(shù)為xy坐標(biāo) root.geometry("480x30+720+830") #創(chuàng)建畫(huà)布 frame = Frame(root).grid(row = 0,column = 0) #使用時(shí)將框架根據(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è)置矩形,無(wú)填充即為邊框 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()
運(yùn)行截圖
到此這篇關(guān)于python實(shí)現(xiàn)無(wú)邊框進(jìn)度條的實(shí)例代碼的文章就介紹到這了,更多相關(guān)python無(wú)邊框進(jìn)度條內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)習(xí)總結(jié)(yeild,async,azwait和協(xié)程)
今天是Python實(shí)習(xí)的第一天,熟悉了環(huán)境,第一次使用macbook,氛圍還不錯(cuò),努力學(xué)習(xí)新知識(shí),希望本片文章能給你帶來(lái)幫助2021-10-1020行Python代碼實(shí)現(xiàn)一款永久免費(fèi)PDF編輯工具
本文主要介紹了Python代碼實(shí)現(xiàn)一款永久免費(fèi)PDF編輯工具,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07PyTorch實(shí)現(xiàn)線性回歸詳細(xì)過(guò)程
本文介紹PyTorch實(shí)現(xiàn)線性回歸,線性關(guān)系是一種非常簡(jiǎn)單的變量之間的關(guān)系,因變量和自變量在線性關(guān)系的情況下,可以使用線性回歸算法對(duì)一個(gè)或多個(gè)因變量和自變量間的線性關(guān)系進(jìn)行建模,該模型的系數(shù)可以用最小二乘法進(jìn)行求解,需要的朋友可以參考一下2022-03-03Python3.7 版本 lxml 模塊無(wú)法導(dǎo)入etree 問(wèn)題及解決方法
這篇文章主要介紹了Python3.7 版本 lxml 模塊無(wú)法導(dǎo)入etree 問(wèn)題及解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-01-01Python實(shí)現(xiàn)讀取.nc數(shù)據(jù)并提取指定時(shí)間與經(jīng)緯度維度對(duì)應(yīng)的變量數(shù)值
這篇文章主要為大家詳細(xì)介紹了如何使用Python語(yǔ)言的netCDF4庫(kù)實(shí)現(xiàn)讀取.nc格式的數(shù)據(jù)文件,并提取指定維(時(shí)間、經(jīng)度與緯度)下的變量數(shù)據(jù),需要的可以了解下2024-02-02在python中求分布函數(shù)相關(guān)的包實(shí)例
這篇文章主要介紹了在python中求分布函數(shù)相關(guān)的包實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04