pyqt5的簡單進度條程序


# -*- coding: utf-8 -*-
# @Author  : FELIX
# @Date    : 2018/5/17 16:43

from PyQt5.QtCore import QBasicTimer
from PyQt5.QtWidgets import QApplication, QWidget, QProgressBar, QPushButton
from PyQt5.QtGui import QIcon
import sys


class MyQt(QWidget):
    def __init__(self):
        super(MyQt, self).__init__()
        self.initUI()

    def initUI(self):
        # 構建一個進度條
        self.pbar = QProgressBar(self)
        # 從左上角30-50的界面,顯示一個200*25的界面
        self.pbar.setGeometry(30, 50, 200, 25)  # 設置進度條的位置
        # 設置開始按鈕
        self.btn = QPushButton('開始', self)
        self.btn.move(50, 90)  # 按鈕移動的位置
        # 點擊按鈕
        # 信號函數不能加括號
        self.btn.clicked.connect(self.doAction)


        # 構建一個計時器
        self.timer = QBasicTimer()
        # 計數
        self.step = 0
        self.setGeometry(300,300,280,170)
        self.setWindowTitle('我是進度條')
        self.setWindowIcon(QIcon('1.jpg'))

        self.show()

    def doAction(self):
        # 判斷是否處於激活狀態
        if self.timer.isActive():
            self.timer.stop()
            self.btn.setText('開始')
        else:
            self.timer.start(100,self)
            self.btn.setText('停止')
    def timerEvent(self, *args, **kwargs):
        if self.step>=100:
            # 停止進度條
            self.timer.stop()
            self.btn.setText('完成')
            return
        self.step+=1
        # 把進度條每次充值的值賦給進圖條
        self.pbar.setValue(self.step)


if __name__ == '__main__':
    # 創建一個Qt應用對象
    app=QApplication(sys.argv)
    myqt=MyQt()
    # 程序和窗口 --- 一個程序可以有多個窗口
    # 當前的程序開始運行
    sys.exit(app.exec_())

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM