這篇文章主要介紹了python如何通過(guò)pyqt5實(shí)現(xiàn)進(jìn)度條,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
python太博大精深了,使用場(chǎng)景非常多。最近筆者一直使用PyQt5編一些小程序,順便就把一些常用的東西列出來(lái),做個(gè)記錄和積累吧。
進(jìn)度條是非常常用的東西,今天用的時(shí)候,順便溫習(xí)了一下,這個(gè)東西自己感覺(jué)沒(méi)啥可講的,最好的辦法就是例子來(lái)說(shuō)明:下面給一個(gè)簡(jiǎn)單的例子。
基本進(jìn)度條使用:
進(jìn)度條的函數(shù)如下:
self.pbar = QProgressBar(self) //進(jìn)度條的定義
self.pbar.setGeometry(30, 60, 100, 30) //進(jìn)度條的大小和位置,前兩個(gè)是位置,后兩個(gè)是大小
進(jìn)度條默認(rèn)一般是長(zhǎng)度為100,步長(zhǎng)度一般使用一個(gè)變量來(lái)控制,這個(gè)變量要初始化為零,需要清空的時(shí)候要記得清零:
self.step = 0
當(dāng)步長(zhǎng)設(shè)置的的時(shí)候,一定要設(shè)置到進(jìn)度條的屬性里面,不然的話意義不大,如下所示:
self.step = self.step+1
self.pbar.setValue(self.step)
下面是一個(gè)基本例子:直接運(yùn)行即可
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
#!/usr/bin/python3 # -*- coding: utf-8 -*- """ PyQt5 教程 這個(gè)例子顯示了一個(gè)進(jìn)度條控件。 auther: 虛生 """ import sys from PyQt5.QtWidgets import QApplication, QWidget, QProgressBar, QPushButton from PyQt5.QtCore import QBasicTimer class Example(QWidget): def __init__( self ): super ().__init__() self .initUI() def initUI( self ): self .pbar = QProgressBar( self ) self .pbar.setGeometry( 30 , 40 , 200 , 25 ) self .btn = QPushButton( '開(kāi)始' , self ) self .btn.move( 40 , 80 ) self .btn.clicked.connect( self .doAction) self .timer = QBasicTimer() self .step = 0 self .setGeometry( 300 , 300 , 280 , 170 ) self .setWindowTitle( '進(jìn)度條' ) self .show() def timerEvent( self , e): if self .step > = 100 : self .step = 0 self .pbar.setValue( self .step) self .timer.stop() self .btn.setText( '完成' ) return self .step = self .step + 1 self .pbar.setValue( self .step) def doAction( self , value): print ( "do action" ) if self .timer.isActive(): self .timer.stop() self .btn.setText( '開(kāi)始' ) else : self .timer.start( 100 , self ) self .btn.setText( '停止' ) if __name__ = = '__main__' : app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_()) |
運(yùn)行結(jié)果如下:
這個(gè)是我pyqt5的github集合里面的一個(gè),本人積累的pyqt5的例子都在里面,有需要的請(qǐng)查看:
https://github.com/DyLanCao/pyqt5_example.git
還有一個(gè)問(wèn)題備忘:
1 默認(rèn)的最大個(gè)數(shù)怎么修改:
self.pbar = QProcessBar(self)
self.pbar.setMaximum(100)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://www.cnblogs.com/dylancao/p/11587420.html