python如何通過(guò)pyqt5實(shí)現(xiàn)進(jìn)度條
這篇文章主要介紹了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)行即可
#!/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('開始', 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('開始')
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í)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Django 響應(yīng)數(shù)據(jù)response的返回源碼詳解
這篇文章主要介紹了Django 響應(yīng)數(shù)據(jù)response的返回源碼詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
python框架flask表單實(shí)現(xiàn)詳解
這篇文章主要介紹了python框架flask表單實(shí)現(xiàn)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
詳解使用PyInstaller將Pygame庫(kù)編寫的小游戲程序打包為exe文件
這篇文章主要介紹了詳解使用PyInstaller將Pygame庫(kù)編寫的小游戲程序打包為exe文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
linux下python使用sendmail發(fā)送郵件
這篇文章主要為大家詳細(xì)介紹了linux下python使用sendmail發(fā)送郵件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
Python中動(dòng)態(tài)創(chuàng)建類實(shí)例的方法
在Java中我們可以通過(guò)反射來(lái)根據(jù)類名創(chuàng)建類實(shí)例,那么在Python我們?cè)趺磳?shí)現(xiàn)類似功能呢?其實(shí)在Python有一個(gè)builtin函數(shù)import,我們可以使用這個(gè)函數(shù)來(lái)在運(yùn)行時(shí)動(dòng)態(tài)加載一些模塊2017-03-03
pandas實(shí)現(xiàn)數(shù)據(jù)合并的示例代碼
本文主要介紹了pandas實(shí)現(xiàn)數(shù)據(jù)合并的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
Python裝飾器入門學(xué)習(xí)教程(九步學(xué)習(xí))
裝飾器(decorator)是一種高級(jí)Python語(yǔ)法。裝飾器可以對(duì)一個(gè)函數(shù)、方法或者類進(jìn)行加工。本文給大家介紹Python裝飾器入門學(xué)習(xí)教程(九步學(xué)習(xí)),對(duì)python裝飾器相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2016-01-01

