zoukankan      html  css  js  c++  java
  • 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_())

  • 相关阅读:
    BZOJ 1391: [Ceoi2008]order
    BZOJ 4504: K个串
    2019 年百度之星·程序设计大赛
    POJ 2398 Toy Storage (二分 叉积)
    POJ 2318 TOYS (二分 叉积)
    HDU 6697 Closest Pair of Segments (计算几何 暴力)
    HDU 6695 Welcome Party (贪心)
    HDU 6693 Valentine's Day (概率)
    HDU 6590 Code (判断凸包相交)
    POJ 3805 Separate Points (判断凸包相交)
  • 原文地址:https://www.cnblogs.com/felixwang2/p/9052612.html
Copyright © 2011-2022 走看看