In [4]:
from Custom.mediahelper import show_video_as_html # 개발자 정의 모듈
from Custom.mediahelper import print_decorator # 개발자 정의 모듈
11. 메시지 박스¶
In [2]:
from tkinter import *
import tkinter.messagebox as msgbox
root = Tk()
title_name = "YongSeokha Tkinter Project"
root.title(title_name)
root.geometry("640x480")
def info():
# 정보 알림 메시지 박스
msgbox.showinfo("알림", "정상적으로 예매 완료되었습니다.") # 메시지 박스 제목, 메시지 박스 텍스트
def warn():
# 경고 메시지 박스
msgbox.showwarning("경고", "해당 좌석은 매진되었습니다.")
def error():
# 에러 메시지 박스
msgbox.showerror("에러", "결제 오류가 발생했습니다.")
def okcancel():
# 확인/취소 메시지 박스 -> 사용자가 확인 또는 취소를 선택 가능
msgbox.askokcancel("확인 / 취소", "해당 좌석은 유아동반석입니다. 예매하시겠습니까?")
@print_decorator
def retrycancel():
# 재시도/취소 메시지 박스 -> 사용자가 재시도 또는 취소를 선택 가눙
response = msgbox.askretrycancel("다시시도 / 취소", "일시적인 오류입니다. 다시 시도하시겠습니까?")
if response == 1: # 사용자가 재시도를 선택한 경우
print("다시시도")
elif response == 0: # 사용자가 취소를 선택한 경우
print("취소")
@print_decorator
def yesno():
response = msgbox.askyesno("예 / 아니오", "해당 좌석은 역방향입니다. 예매하시겠습니까?")
# 예/아니오 메시지 박스 -> 사용자가 예 또는 아니오를 선택 가능
if response == 1: # 사용자가 재시도를 선택한 경우
print("예")
elif response == 0: # 사용자가 취소를 선택한 경우
print("아니오")
@print_decorator
def yesnocancel():
# 예/아니오/취소 메시지 박스 사용자가 예, 아니오 또는 취소를 선택할 수 있습니다.
response = msgbox.askyesnocancel(
title=None,
message="예매 내역이 저장되지 않았습니다.\n저장 후 프로그램을 종료하시겠습니까?"
)
# 사용자의 선택에 따라 다른 동작을 수행합니다.
print("응답:", response) # 사용자의 응답을 출력합니다. True(예), False(아니오), None(취소)로 반환됩니다.
if response == 1: # 사용자가 '예'를 선택한 경우
print("예")
elif response == 0: # 사용자가 '아니오'를 선택한 경우
print("아니오")
else: # 사용자가 '취소'를 선택한 경우
print("취소")
# 각각의 버튼에 대응하는 함수를 연결하고, 버튼을 창에 배치합니다.
Button(root, command=info, text="알림").pack() # 버튼 텍스트
Button(root, command=warn, text="경고").pack()
Button(root, command=error, text="에러").pack()
Button(root, command=okcancel, text="확인 취소").pack()
Button(root, command=retrycancel, text="재시도 취소").pack()
Button(root, command=yesno, text="예 아니오").pack()
Button(root, command=yesnocancel, text="예 아니오 취소").pack()
root.mainloop()
-------------------------------------------------- 다시시도 -------------------------------------------------- -------------------------------------------------- 취소 -------------------------------------------------- -------------------------------------------------- 예 -------------------------------------------------- -------------------------------------------------- 아니오 -------------------------------------------------- -------------------------------------------------- 응답: True 예 -------------------------------------------------- -------------------------------------------------- 응답: False 아니오 -------------------------------------------------- -------------------------------------------------- 응답: None 취소 --------------------------------------------------
In [5]:
show_video_as_html("../Media/video_11.mp4")
'Video'
'Python > Tkinter' 카테고리의 다른 글
13. 스크롤 바 (0) | 2024.11.20 |
---|---|
12. 프레임 (0) | 2024.11.20 |
10. 메뉴 탭 생성 (1) | 2024.11.20 |
09. 프로그레스 바 (0) | 2024.11.20 |
08. 콤보 박스 (0) | 2024.11.20 |