zoukankan      html  css  js  c++  java
  • 实战一:编写进度条

     用编写进度条练习:

     1 #!/usr/bin/python3
     2 # -*- coding:utf-8 -*-
     3 #__author:Administrator
     4 #date:2018/7/23
     5 import sys
     6 from PyQt5.QtWidgets import QApplication,QWidget,QProgressBar,QPushButton
     7 from PyQt5.QtCore import QBasicTimer
     8 from PyQt5.QtGui import QIcon
     9 
    10 class Example(QWidget):
    11     #构造函数__init__()
    12     def __init__(self):
    13         super().__init__()#调用UI页面
    14         self.initUI()
    15 
    16     def initUI(self):#初始化界面
    17         #构建一个进度条
    18         self.pbar=QProgressBar(self)
    19         self.pbar.setGeometry(30,50,200,25)#设置构件在屏幕上的位置
    20         #构建一个按钮
    21         self.btn=QPushButton('开始',self)
    22         self.btn.move(40,90)
    23         self.btn1 = QPushButton('重置', self)
    24         self.btn1.move(120, 90)
    25         self.btn1.clicked.connect(self.doAction1)
    26         #点击按钮
    27         self.btn.clicked.connect(self.doAction)
    28         # 构建计时器
    29         self.timer = QBasicTimer()
    30 
    31         #计数
    32         self.step=0
    33         self.setGeometry(300, 300, 280, 170)  # 设置构件在屏幕上的位置
    34         self.setWindowTitle("我新鲜出炉的进度条")
    35         self.setWindowIcon(QIcon("456.jpg"))
    36         #显示
    37         self.show()
    38 
    39     def doAction(self):
    40         if self.timer.isActive():
    41             self.timer.stop()
    42             self.btn.setText('开始')
    43         else:
    44             self.timer.start(100,self)
    45             self.btn.setText("停止")
    46 
    47     def doAction1(self):
    48         self.step=0
    49         self.pbar.setValue(self.step)
    50         self.timer.stop()
    51         self.btn.setText('开始')
    52 
    53     def timerEvent(self, *args, **kwargs):
    54         if self.step>=100:
    55             #停止进度条
    56             self.timer.stop()
    57             self.btn.setText('完成')
    58 
    59         self.step+=1
    60         #把每次重置的值,赋值给进度条
    61         self.pbar.setValue(self.step)
    62 
    63 if __name__=='__main__':
    64     #创建一个QT应用对象
    65     app=QApplication(sys.argv)
    66     ex=Example()
    67 
    68     #当前的程序开始运行
    69     sys.exit(app.exec_())
  • 相关阅读:
    hdu 1712(分组背包)
    hdu 3033(好题,分组背包)
    阶乘除法(很久之前的一道题,感觉挺好的,遂记录之)
    hdu 1559(最大子矩阵)
    hdu 1080(LCS变形)
    POJ 3458 Colour Sequence
    HUST 1599 Multiple
    HDU 3903 Trigonometric Function
    HUST 1605 Gene recombination
    UVA 11551 Experienced Endeavour
  • 原文地址:https://www.cnblogs.com/Mengchangxin/p/9353017.html
Copyright © 2011-2022 走看看