這篇文章將為大家詳細(xì)講解有關(guān)python tkinter如何實(shí)現(xiàn)下載進(jìn)度條,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
利用python爬取網(wǎng)站數(shù)據(jù)進(jìn)行下載時(shí),顯示下載進(jìn)度
# 設(shè)置下載進(jìn)度條 tk.Label(window, text='下載進(jìn)度:').place(x=40, y=80) canvas = tk.Canvas(window, width=600, height=16, bg="white") canvas.place(x=20, y=90) # 下載按鈕函數(shù) def usr_download(): response = session.get(url_str, headers=headers2, cookies=cookies_xxx, verify=False, stream=True) # stream=True表示請(qǐng)求成功后并不會(huì)立即開始下載,而是在調(diào)用iter_content方法之后才會(huì)開始下載 chunk_size = 40960 # 設(shè)置每次下載的塊大小 content_size = int(m4a.headers['content-length']) # 從返回的response的headers中獲取文件大小 # 填充進(jìn)度條 fill_line = canvas.create_rectangle(1.5, 1.5, 0, 23, width=0, fill="green") raise_data = 600 / (content_size/chunk_size) # 增量大小,600為進(jìn)度條的長(zhǎng)度 # 將下載的數(shù)據(jù)寫入文件 with open(title + '.m4a', 'wb') as f: n = 0 for data in response.iter_content(chunk_size=chunk_size): # 在循環(huán)讀取文件時(shí),刷新進(jìn)度條 f.write(data) n = n + raise_data canvas.coords(fill_line, (0, 0, n, 60)) window.update() # 清空進(jìn)度條 def clean_progressbar(): # 清空進(jìn)度條 fill_line = canvas.create_rectangle(1.5, 1.5, 0, 23, width=0, fill="white") x = 500 # 未知變量,可更改 n = 600 / x # 465是矩形填充滿的次數(shù) for t in range(x): n = n + 600 / x # 以矩形的長(zhǎng)度作為變量值更新 canvas.coords(fill_line, (0, 0, n, 60)) window.update() # 下載按鈕 btn_download = tk.Button(window, text='開始下載', command=usr_download) btn_download.place(x=600, y=28)
效果圖:
https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6832178122364816644
關(guān)于“python tkinter如何實(shí)現(xiàn)下載進(jìn)度條”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
文章題目:pythontkinter如何實(shí)現(xiàn)下載進(jìn)度條-創(chuàng)新互聯(lián)
地址分享:http://jinyejixie.com/article34/dssjse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、網(wǎng)站策劃、做網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容