PyQt 5 매일 배 워 야 할 진도 게이지 효과

3217 단어 PyQt5진도 표
진도 항목 은 우리 가 지루 한 작업 을 처리 할 때 사용 하 는 컨트롤 입 니 다.이 작업 이 진행 되 고 있다 는 것 을 애니메이션 으로 보 여 줍 니 다.이 QProgressBar 컨트롤 은 수평 또는 수직 진행 바 를 제공 합 니 다.프로 그 래머 는 진도 게이지 의 최소 값 과 최대 값 을 설정 할 수 있다.기본 값 은 0 에서 99 입 니 다.

#!/usr/bin/python3
# -*- coding: utf-8 -*-

"""
PyQt5   

              。

  :         
  :http://blog.csdn.net/weiaitaowang
    :2016 8 3 
"""

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

class Example(QWidget):

 def __init__(self):
  super().__init__()

  self.initUI()

 def initUI(self):

  self.pbar = QProgressBar(self)
  self.pbar.setGeometry(30, 40, 200, 25)

  self.btn = QPushButton('  ', self)
  self.btn.move(40, 80)
  self.btn.clicked.connect(self.doAction)

  self.timer = QBasicTimer()
  self.step = 0

  self.setGeometry(300, 300, 280, 170)
  self.setWindowTitle('   ')  
  self.show()

 def timerEvent(self, e):

  if self.step >= 100:
   self.timer.stop()
   self.btn.setText('  ')
   return
  self.step = self.step+1
  self.pbar.setValue(self.step)

 def doAction(self, value):

  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)
 ex = Example()
 sys.exit(app.exec_())

우리 의 예 에서,우 리 는 수평 진도 바 컨트롤 러 와 단추 컨트롤 러 를 가지 고 있다.단 추 를 누 르 면 진행 을 시작 하거나 중지 합 니 다.

self.pbar = QProgressBar(self)
QProgressBar 로 진행 표시 줄 만 들 기

self.timer = QBasicTimer()
진도 바 를 활성화 하려 면 타이머 대상 을 사용 해 야 합 니 다.

self.timer.start(100, self)
타이머 이 벤트 를 시작 하려 면 start()방법 을 사용 해 야 합 니 다.이 방법 은 두 가지 인자 가 있 습 니 다.시간 초과 와 받 을 이벤트 의 대상 입 니 다.

 def timerEvent(self, e):

  if self.step >= 100:
   self.timer.stop()
   self.btn.setText('  ')
   return
  self.step = self.step+1
  self.pbar.setValue(self.step)
QObject 를 계승 하 는 대상 마다 timerEvent()이벤트 처리 프로그램 이 있 습 니 다.타이머 이벤트 가 진행 항목 에 작용 하기 위해 서,우 리 는 이 이벤트 처리 프로그램 을 다시 썼 다.

 def doAction(self, value):

  if self.timer.isActive():
   self.timer.stop()
   self.btn.setText('  ')
  else:
   self.timer.start(100, self)
   self.btn.setText('  ')

doAction()방법 으로 타 이 머 를 시작 하고 정지 합 니 다.
프로그램 실행 후
这里写图片描述 这里写图片描述 这里写图片描述
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기