PyQt——簡單進度條程序

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_())

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章