python, PyQt5模块实现窗口GUI界面,进度条和按钮功能

JasonYeung 2020-05-09

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

class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()  # 显示窗体内容
    def initUI(self):
        self.pbar = QProgressBar(self)
        self.pbar.setGeometry(30, 50, 200, 25) #设置进度条位置及大小
        self.btn = QPushButton(‘开始‘, self)
        self.btn.move(50, 90)
        self.btn.clicked.connect(self.doAction)  #点击按钮时执行的动作函数指定为self.doAction()
        # self.btn.setGeometry(50, 90, 40, 25)

        self.timer = QBasicTimer() #构建一个计数器
        self.step = 0 #设置基数
        self.setGeometry(300, 300, 280, 170) # 设置整个窗体的大小
        self.setWindowTitle(‘进度条‘) #设置窗口标题
        # self.setWindowIcon(‘logo2.png‘) #设置窗口图标
        self.show()

    def timerEvent(self, *args, **kwargs):
        if self.step >= 100:
            self.timer.stop()
            self.btn.setText(‘完成‘)
            return
        self.step += 1
        self.pbar.setValue(self.step) #timer每次重围时将self.step 赋值给pbar


    def doAction(self):
        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) # 创建一个QT应用对象
    ex = Example()
    sys.exit(app.exec_())

python, PyQt5模块实现窗口GUI界面,进度条和按钮功能

相关推荐