일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 파이썬GUI
- 오피스
- 파워포인트
- office
- Excel
- 파이썬
- matlab
- 윈도우10
- Outlook
- 파이썬3
- 문자열
- python3
- 안드로이드
- Windows11
- 깃
- windows
- Android
- 윈도우11
- VBA
- git
- pandas
- 아웃룩
- Windows10
- html
- 엑셀
- 비주얼베이직
- pythongui
- win32com
- pyqt5
- python
Appia의 IT세상
파이썬[Python GUI, PyQt5 Tutorial 022] 메시지박스(Messagebox)만들기 본문
파이썬[Python GUI, PyQt5 Tutorial 022] 메시지박스(Messagebox)만들기
Appia 2020. 7. 26. 07:44파이썬[Python GUI, PyQt5 Tutorial 022] 메시지박스(Messagebox)만들기
이번 포스팅은 흔히들 보는 메시지박스(Messagebox)를 만들어 볼까 합니다. 메시지박스(Messagebox)는 여러 버튼 중에 선택을 하는 경우에 많이 사용이 됩니다. 때론, 경고창들을 나타내기도 합니다. 다음그림과 같은 부분이라고 생각하시면 이해가 쉬울 것이라고 생각합니다.
간단한 코드를 살펴보면서 추가로 설명을 하도록 하겠습니다.
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox
class App(QWidget):
def __init__(self):
super().__init__()
buttonReply = QMessageBox.question(
self, 'APPIA', "Message Box",
QMessageBox.Yes | QMessageBox.Save | QMessageBox.Cancel | QMessageBox.Reset | QMessageBox.No,
QMessageBox.No
)
if buttonReply == QMessageBox.Yes:
print('Yes clicked.')
elif buttonReply == QMessageBox.Save:
print('Save clicked.')
elif buttonReply == QMessageBox.Cancel:
print('Cancel clicked.')
elif buttonReply == QMessageBox.Close:
print('Close clicked.')
elif buttonReply == QMessageBox.Reset:
print('Reply clicked.')
else:
print('No clicked.')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
|
cs |
간단히 메시지박스(Messagebox)을 나타내는 코드입니다. 여기에서 추가로 각 코드 부분에 대해서 설명을 하도록 하겠습니다.
메시지 박스를 생성하는 부분입니다.
buttonReply = QMessageBox.question(
self, 'APPIA', "Message Box",
QMessageBox.Yes | QMessageBox.Save | QMessageBox.Cancel | QMessageBox.Reset | QMessageBox.No,
QMessageBox.No
)
|
cs |
여기에서 QMessageBox이후에 나타날 수 있는 부분은 다음과 같습니다.
아이콘 | 항목 |
question | |
warning | |
information | |
criticial |
위의 코드에 question대신 입력할 경우 아이콘이 변경이 됩니다. 그리고, 구성을 보면 다음과 같습니다.
QMessageBox.critical(Parent, Title, MessagboxText, buttons, defaultButton) |
여기에서 buttons들은 여러개가 올수 있습니다. 이 때 미리 정의 되어 있는 버튼에 대해서만 사용이 가능합니다.
Ok | Open | Save | Cancel |
Close | Discard | Apply | Reset |
RestorDefault | Yes | No | Abort |
Retry | Ignore |
여러개가 입력될 경우 다음과 같이 '|'를 이용하시면 됩니다.
다음 코드들은 위의 메시지 박스(MessageBox)의 버튼이 선택되었을 경우 최초 메시지 박스로 생성된 클래스의 리턴된 값으로 동작을 지정을 할 수 가 있음을 나타냅니다.
if buttonReply == QMessageBox.Yes:
print('Yes clicked.')
elif buttonReply == QMessageBox.Save:
print('Save clicked.')
elif buttonReply == QMessageBox.Cancel:
print('Cancel clicked.')
elif buttonReply == QMessageBox.Close:
print('Close clicked.')
elif buttonReply == QMessageBox.Reset:
print('Reply clicked.')
else:
print('No clicked.')
|
cs |
물론, 이와 같은 메시지 박스(MessageBox)자체를 특정이벤트에 연결해서 사용하기 때문에 메인 코드에 다음과 같이 메인 코드에 사용하는 경우는 매우 드물지만, 이것은 이해를 돕기위한 예제임으로 이해를 바랍니다.
이번 포스팅은 파이썬[Python GUI, PyQt5 Tutorial 022] 메시지박스(Messagebox)만들기라는 주제로 간단히 메시지를 박스를 만들고 관련된 이야기를 해봤습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다.
'Python > Python PyQt5 (GUI)' 카테고리의 다른 글
파이썬[Python GUI, PyQt5 Tutorial 024] 슬라이드바 (QSlider)만들기 (0) | 2020.07.30 |
---|---|
파이썬[Python GUI, PyQt5 Tutorial 023] 프로그래스바(QProgressBar)만들기 (1) | 2020.07.28 |
파이썬[Python GUI, PyQt5 Tutorial 022] 메모장 만들기 (1) | 2020.07.20 |
파이썬[Python GUI, PyQt5 Tutorial 021] 메뉴바(Menu Bar) 만들기 (1) | 2020.07.10 |
파이썬[Python GUI, PyQt5 Tutorial 020] GUI 하단 상태바(Status Bar) 만들기 (0) | 2020.07.08 |