일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 엑셀
- 파이썬3
- pyqt5
- 윈도우11
- python3
- Android
- python
- 파이썬
- pythongui
- git
- VBA
- 깃
- 오피스
- 윈도우10
- matlab
- 아웃룩
- 파이썬GUI
- windows
- 비주얼베이직
- Windows10
- Windows11
- 문자열
- 안드로이드
- win32com
- pandas
- html
- Excel
- office
- Outlook
- 파워포인트
Appia의 IT세상
파이썬[Python GUI, PyQt5 Tutorial 023] 프로그래스바(QProgressBar)만들기 본문
파이썬[Python GUI, PyQt5 Tutorial 023] 프로그래스바(QProgressBar)만들기
Appia 2020. 7. 28. 07:36파이썬[Python GUI, PyQt5 Tutorial 023] 프로그래스바(QProgressBar)만들기
이번 포스팅에서는 상태에 대해서 가장 많이 표시되는 프로그래스바(QProgressBar)에 대해서 이야기를 해보고자 합니다. 흔히 프로그래스바(QProgressBar)에 대해서 가장 쉽게 이야기를 하자면, 프로그램등을 설치시에 관련된 파일의 진척상황등을 표시할 때를 이야기할 수 있습니다. 물론, 다음과 같은 그림일 수 있겠죠?
다음과 같이 현재의 진행 상태등을 이야기 할 때 가장 많이 사용 됩니다. 그럼 다음의 코드에서 관련해서 한번 살펴보겠습니다. 예제 코드는 간단히 버튼을 누르면 프로그래스바(QProgressBar)가 0.5 초에 한번씩 1퍼센트씩 올라가게 코드를 작성해봤습니다. 물론, QObject의 timer를 이용할 수 있지만, 그냥 간단히 한번 해보기 위해서 다음과 같이 작성해봤습니다.
import sys import time from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QProgressBar class App(QWidget): def __init__(self): super().__init__() self.buttonflag = 0 self.flag = 0 self.num = 0 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.start_progress) self.setWindowTitle('QProgressBar') self.setGeometry(300, 300, 300, 200) self.show() def start_progress(self): for i in range(0, 101): self.num = i self.pbar.setValue(self.num) time.sleep(0.5) if __name__ == '__main__': app = QApplication(sys.argv) ex = App() sys.exit(app.exec_()) | cs |
간단하게 버튼을 누르면, 0.5초마다 1퍼센트씩 프로그래스바(QProgressBar)가 진행되는 부분을 작성해봤습니다. 그럼 관련해서 간단히 살펴보겠습니다.
먼저, 프로그래스바(QProgressBar)를 생성하기 위한 부분은 다음과 같은 부분입니다.
self.pbar = QProgressBar(self) self.pbar.setGeometry(30, 40, 200, 25) | cs |
다음 보이는 코드에서는 간단한 사이즈와 생성만 하였습니다. 하지만 다음과 같은 부분들을 선택적으로 명시할 수 있습니다.
minimum() | 프로그래스바(QProgressBar)의 최소값을 리턴해줍니다. |
maximum() | 프로그래스바(QProgressBar)의 최대값을 리턴해줍니다. |
setMinimum() | 프로그래스바(QProgressBar)의 최소값을 설정합니다. |
setMaximum() | 프로그래스바(QProgressBar)의 최대값을 설정합니다. |
value() | 프로그래스바(QProgressBar)의 현재 값을 리턴합니다. |
setValue(Value) | 프로그래스바(QProgressBar)의 값을 설정합니다. |
reset() | 프로그래스바(QProgressBar) 값을 초기화 합니다. |
그리고 위의 속성을 바탕으로 버튼을 누르면 동작하게 하였습니다. 그럼 연결된 이벤트에 대해서 살펴보겠습니다.
def start_progress(self): for i in range(0, 101): self.num = i self.pbar.setValue(self.num) time.sleep(0.5) | cs |
다음과 같이 0부터 100까지 값이 계속 업데이트 되게 이벤트 처리를 하였습니다.
위에서 사용된 코드를 업데이트 하였습니다. 혹시 필요하신 분들은 언제든지 사용하셔도 됩니다.
파이썬[Python GUI, PyQt5 Tutorial 022] 메시지박스(Messagebox)만들기
앞서서 메시지 박스와 연결하여 퍼센트지가 다 차면, 메시지박스를 나타나게 해주는 방식으로 작성해도 매우 좋을 것 같습니다. 생각보다 그런 형태로도 많이 작성합니다. 또한, 설치 중에 문제가 있을 경우 관련해서 경고를 나타내도 좋을 것 같습니다.
이번 포스팅은 파이썬[Python GUI, PyQt5 Tutorial 023] 프로그래스바(QProgressBar)만들기라는 주제로 간단히 살펴봤습니다. 혹시 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시면 면됩니다. 감사합니다.
'Python > Python PyQt5 (GUI)' 카테고리의 다른 글
파이썬[Python GUI, PyQt5 Tutorial 025] 다이얼 (QDial)만들기 (0) | 2020.08.01 |
---|---|
파이썬[Python GUI, PyQt5 Tutorial 024] 슬라이드바 (QSlider)만들기 (0) | 2020.07.30 |
파이썬[Python GUI, PyQt5 Tutorial 022] 메시지박스(Messagebox)만들기 (0) | 2020.07.26 |
파이썬[Python GUI, PyQt5 Tutorial 022] 메모장 만들기 (1) | 2020.07.20 |
파이썬[Python GUI, PyQt5 Tutorial 021] 메뉴바(Menu Bar) 만들기 (1) | 2020.07.10 |