반응형
윈도우에는 화면 하단에 수평으로 빈 공간을 삽입할 수 있습니다. 그것을 상태바(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 |
녹두장군1님의
글이 좋았다면 응원을 보내주세요!