您好,登錄后才能下訂單哦!
小編給大家分享一下python怎樣通過pyqt5實現進度條,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
python太博大精深了,使用場景非常多。最近筆者一直使用PyQt5編一些小程序,順便就把一些常用的東西列出來,做個記錄和積累吧。
進度條是非常常用的東西,今天用的時候,順便溫習了一下,這個東西自己感覺沒啥可講的,最好的辦法就是例子來說明:下面給一個簡單的例子。
基本進度條使用:
進度條的函數如下:
self.pbar = QProgressBar(self) //進度條的定義
self.pbar.setGeometry(30, 60, 100, 30) //進度條的大小和位置,前兩個是位置,后兩個是大小
進度條默認一般是長度為100,步長度一般使用一個變量來控制,這個變量要初始化為零,需要清空的時候要記得清零:
self.step = 0
當步長設置的的時候,一定要設置到進度條的屬性里面,不然的話意義不大,如下所示:
self.step = self.step+1
self.pbar.setValue(self.step)
下面是一個基本例子:直接運行即可
#!/usr/bin/python3 # -*- coding: utf-8 -*- """ PyQt5 教程 這個例子顯示了一個進度條控件。 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('開始', 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('進度條') 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('開始') else: self.timer.start(100, self) self.btn.setText('停止') if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
運行結果如下:
這個是我pyqt5的github集合里面的一個,本人積累的pyqt5的例子都在里面,有需要的請查看:
https://github.com/DyLanCao/pyqt5_example.git
還有一個問題備忘:
1 默認的最大個數怎么修改:
self.pbar = QProcessBar(self)
self.pbar.setMaximum(100)
以上是“python怎樣通過pyqt5實現進度條”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。