반응형
윈도우에는 화면 하단에 수평으로 빈 공간을 삽입할 수 있습니다. 그것을 상태바(Status Bar) 라고 합니다. 보통 이곳에 윈도우의 상태를 실시간 텍스트로 표시해서 사용자에게 알리는 용도로 사용합니다.
▼ QStatusBar 를 추가하는 방법은 두 가지입니다. 첫 번째는 QMainWindwo 의 statusBar() 함수로 QStatusBar 객체를 생성하는 것입니다. 이 과정에서 윈도우에 추가합니다.
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
# 윈도우 설정
self.setGeometry(300, 300, 400, 300) # x, y, w, h
self.setWindowTitle('Status Window')
# Status 추가
self.statusBar().showMessage('In progress')
▼ 두 번째는 생성자를 통해 QStatusBar 객체를 생성하고 QMainWindwo 의 setStatusBar() 함수를 이용해서 윈도우 화면에 추가합니다. 이것은 클래스의 __init__ 함수에 들어가야 합니다. 텍스트 표시는 showMessage() 를 이용해서 변경합니다.
def __init__(self):
super().__init__()
self.statusBar = QStatusBar()
self.setStatusBar(self.statusBar)
self.init_ui()
def init_ui(self):
# 윈도우 설정
self.setGeometry(300, 300, 400, 300) # x, y, w, h
self.setWindowTitle('Status Window')
# Status 추가
self.statusBar.showMessage('In Progress')
▼ 상태바에는 다른 위젯을 추가할 수 있는데, 버튼을 넣어 보았습니다. 위젯 추가함수는 QStatusBar 의addWidget() 입니다. 다시 삭제하고 싶다면 QStatusBar 의 removeWidget() 을 사용합니다. 추가하고 삭제하는 과정에서 화면에 변화된 내용을 적용하기 위해서는 QStatusBar 의 show() 함수를 써야 합니다.
def __init__(self):
super().__init__()
...
# QButton 위젯 생성
self.button = QPushButton('StatusBar Button');
self.init_ui()
def init_ui(self):
# 윈도우 설정
...
# StatusBar QPushButton 추가
self.statusBar.addWidget(self.button)
▼ 전체 소스는 다음과 같습니다.
#!/usr/bin/env python3
import sys, datetime
from PyQt5.QtWidgets import QApplication, QStatusBar, QMainWindow, QPushButton
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.statusBar = QStatusBar()
self.setStatusBar(self.statusBar)
# QButton 위젯 생성
self.button = QPushButton('StatusBar Button');
self.init_ui()
def init_ui(self):
# 윈도우 설정
self.setGeometry(300, 300, 400, 300) # x, y, w, h
self.setWindowTitle('Status Window')
# Status 추가
# self.statusBar.showMessage('In Progress')
# StatusBar QButton 추가
self.statusBar.addWidget(self.button)
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())
반응형
'파이썬 Python' 카테고리의 다른 글
파이썬(Python) Matplotlib 설치 하고 샘플 구동하기 (0) | 2024.07.21 |
---|---|
파이썬(Python) 두 개의 숫자 더하기 (0) | 2024.07.09 |
파이썬(Python) PIP freeze 설치 라이브러리 복구하기 (0) | 2024.07.09 |
파이썬(Python) PyQt5 QMessageBox 구현하기 (0) | 2024.07.07 |
파이썬(Python) type 함수 사용하기 (0) | 2024.07.06 |
파이썬(Python) PyQt5 QSlider 사용하기 (0) | 2024.06.30 |
파이썬(Python) 개발도구(PyCharm) 단축키 설정과 검색하는 방법 (2) | 2024.04.11 |
PyCharm Python 모듈 최신 버전으로 업데이트 하는 방법 (0) | 2024.03.28 |