Maxima's Lab

[Python, Tkinter] Graphic User Interface (GUI) - Messagebox (메세지 박스) 본문

Python/GUI (Graphic User Interface)

[Python, Tkinter] Graphic User Interface (GUI) - Messagebox (메세지 박스)

Minima 2022. 7. 24. 22:14
728x90
SMALL

안녕하세요, 오늘은 Tkinter 모듈을 사용하여, GUI 중 Messagebox를 적용하는 방법에 대해서 알아보겠습니다.

 

다음은 Messagebox를 구성하는 항목들은 다음과 같습니다.

 

  • Message 
  • showinfo
  • showwarning
  • showerror

  • askquestion
  • askokcancel
  • askretrycancel
  • askyesno
  • askyesnocancel

 

간단하게 Message를 윈도우에 출력하는 방법에 대해서 알아보겠습니다.

 

from tkinter import *
from tkinter import messagebox

win = Tk()
win.title("Maxima")
win.geometry("800x600+200+200")
win.resizable(False, False)  


msg = Message(win, text = "This is a message")
msg.config(bg='black', fg='white', width=500)
msg.pack()

win.mainloop()

 

위의 코드를 실행하여 출력되는 결과는 다음과 같습니다.

 

윈도우 창에 Message가 출력된 결과 이미지

위의 전체 코드들에 대해 세부적으로 알아보도록 하겠습니다.

 

msg = Message(win, text = "This is a message")
msg.config(bg='black', fg='white', width=500)
msg.pack()

 

Message() 함수를 통해, win에 연결시키고 "This is a message" 라는 text로 메세지를 설정하였습니다. 추가적으로, msg.config() 함수를 적용하므로써 Background Color는 'black'으로 글자색은 'white'로 설정하였으며, Message의 너비는 500으로 설정하여 한줄로 메세지가 출력될 수 있도록 하였습니다.

 


다음은 실행된 윈도우 창을 닫을 때 message.showinfo() 함수를 실행시키는 방법에 대해서 알아보겠습니다.

 

from tkinter import *
from tkinter import messagebox

win = Tk()
win.title("Maxima")
win.geometry("800x600+200+200")
win.resizable(False, False)  

def showfunc_1():
    messagebox.showinfo(title = None, message = "This is a message")
    
win.protocol("WM_DELETE_WINDOW", showfunc_1)

win.mainloop()

윈도우 창에 messagebox.showinfo() 함수가 실행되어 메세지가 출력된 이미지

 

위의 전체 코드들에 대해 세부적으로 알아보도록 하겠습니다.

 

def showfunc_1():
    messagebox.showinfo(title = None, message = "This is a message")
    
win.protocol("WM_DELETE_WINDOW", showfunc_1)

 

위의 코드 내 win.protocol("WM_DELETE_WINDOW", showfunc_1)를 사용하여, 윈도우 창을 닫는 버튼을 눌렀을 때 showfunc_1 함수가 실행되며 "This is a message" 라는 메세지를 messagebox.showinfo() 함수를 통해 출력하는 코드입니다.

 

다음은 messagebox.showwarning() 함수를 통해 출력되는 결과 이미지들입니다.

 

윈도우 창에 messagebox.showwarning() 함수가 실행되어 메세지가 출력된 이미지

 


다음은 순서대로 messagebox.askquestion(), messagebox.askokcancel(), messagebox.askretrycancel(), messagebox.askyesno(), messagebox.askyesnocancel() 함수가 실행되어 메세지가 출력된 이미지들입니다.

 

윈도우 창에 messagebox.askquestion() 함수가 실행되어 메세지가 출력된 이미지

 

윈도우 창에 messagebox.askokcancel() 함수가 실행되어 메세지가 출력된 이미지
윈도우 창에 messagebox.askretrycancel() 함수가 실행되어 메세지가 출력된 이미지

 

윈도우 창에 messagebox.askyesno() 함수가 실행되어 메세지가 출력된 이미지

 

윈도우 창에 messagebox.askyesnocancel() 함수가 실행되어 메세지가 출력된 이미지

 

위의 코드 예시들을 통해 다양한 메세지들과 옵션들 그리고 messagebox 내 함수들을 활용하여 다양한 조합을 적용해보시기 바랍니다.

 

지금까지, Tkinter 모듈을 사용하여, Graphic User Interface (GUI)의 Messagebox를 적용하는 방법에 대해서 알아보았습니다.

728x90
LIST
Comments