반응형

  메시지 박스사용자에게 추가 정보나 경고, 오류 발생여부에 대해서 피드백을 제공하기 위해서

기존의 윈도우에서 독립적인 추가 윈도우를 말한다.

이는 messagebox 모듈을 임포트 하기만 하면 간단하게 생성하고 조작할 수 있다.

 

 

◆ 파이썬 GUI 메시지 상자 만들기

   tkinter.messagebox.상자종류("제목","내용")

    - 여기서 상자 종류내용만 바꾸며 메시지 상자가 바뀌게 됩니다. 

   

◆ 파이썬 GUI 메시지 상자 종류 (7가지)

메시지 상자 종류 - showinfo

평범한 정보
파란 동그라미에 느낌표가 있고
확인 버튼 밖에 없습니다.


tkinter.messagebox.showinfo("제목", "메시지 내용")
메시지 상자 종류 - showwarning

경고 문구
노란 삼각형안에 느낌표가 있습니다.


tkinter.messagebox.showwarning("제목", "메시지 내용")
메시지 상자 종류 - showerror

오류 정보


tkinter.messagebox.showerror("제목", "메시지 내용")
메시지 상자 종류 - askquestion

사용자에게 질문


tkinter.messagebox.askquestion("제목", "메시지 내용")
메시지 상자 종류 - askokcancel

대답은 ok / cancel 입니다


tkinter.messagebox.askyesno("제목", "메시지 내용")
메시지 상자 종류 - askyesno

대답은 yes / no 입니다


tkinter.messagebox.askyesno("제목", "메시지 내용")
메시지 상자 종류 - askretrycancel

대답은 Retry / Cancel 입니다


tkinter.messagebox.askretrycancel("제목", "메시지 내용")

 

 

▶ [ 파이썬 GUI 메시지 상자 1 ]

  - 다음은 파이썬 GUI 메시지박스 만들기 코드입니다. 실행시켜보세요

from tkinter import *
from tkinter import messagebox as msg

window = Tk()
window.geometry('500x300')
window.title("메세지박스 공부하기")


#버튼1 함수
def msg1():
    msg.showinfo("메시지박스 제목","메세지박스 연습입니다")

#버튼 만들기
Bu1=Button(window, text="메시지박스", width = 10, command=msg1)
Bu1.pack(pady=20)

#메인 반복문 실행
window.mainloop()

 

------------------------------------------------------------------------

▶ [ 파이썬 GUI 메시지 상자 2 ]

  - 파이썬 GUI 메시지 상자 종류에 관한 코드입니다

from tkinter import *
from tkinter import messagebox as msg

window = Tk()
window.geometry('300x500')
window.title("메세지박스 공부하기")


#버튼1 함수
def msg1():
    msg.showinfo("메시지박스","메세지박스 \n연습입니다\n(파란 느낌의 아이콘)")

#버튼2 함수
def msg2():
    msg.showwarning("메시지박스","메세지박스 \n연습입니다\n(노란 느낌의 아이콘)")

#버튼3 함수
def msg3():
    msg.showerror("메시지박스","메세지박스 \n연습입니다\n(빨강 엑스 아이콘)")

#버튼4 함수
def msg4():
    msg.askquestion("메시지박스","메세지박스 \n연습입니다\n(파란 물음표)\n (Yes/No)")

#버튼5 함수
def msg5():
    msg.askokcancel("메시지박스","메세지박스 \n연습입니다\n(파란 물음표)\n (Yes/Cancel)")

#버튼6 함수
def msg6():
    msg.askyesno("메시지박스","메세지박스 \n연습입니다\n(파란 물음표)\n (Yes/No)")

#버튼7 함수
def msg7():
    msg.askretrycancel("메시지박스","메세지박스 \n연습입니다\n(파란 물음표)\n (Try/Cancel)")

#버튼8 함수
def msg8():
    window.destroy()
    window.quit()


#버튼 만들기1
Bu1=Button(window, text="클릭(info)", width = 10, command=msg1)
Bu1.pack(pady=5)

#버튼 만들기2
Bu2=Button(window, text="클릭(warning)", width = 10, command=msg2)
Bu2.pack(pady=5)

#버튼 만들기3
Bu3=Button(window, text="클릭(error)", width = 10, command=msg3)
Bu3.pack(pady=5)

#버튼 만들기4
Bu4=Button(window, text="클릭(question)", width = 15, command=msg4)
Bu4.pack(pady=5)

#버튼 만들기5
Bu5=Button(window, text="클릭(Yes/Cancel)", width = 15, command=msg5)
Bu5.pack(pady=5)

#버튼 만들기6
Bu6=Button(window, text="클릭(Yes/No)", width = 15, command=msg6)
Bu6.pack(pady=5)

#버튼 만들기7
Bu7=Button(window, text="클릭(Try)", width = 10, command=msg7)
Bu7.pack(pady=5)

#버튼 만들기8
Bu8=Button(window, text="종료", width = 10, command=msg8)
Bu8.pack(pady=5)

#메인 반복문 실행
window.mainloop()

 

------------------------------------------------------------------------------------------

▶ [ 파이썬 GUI 메시지 상자 3 ]

  - 메시지상자에서 확인 버튼을 누르면 파이썬이 종료되고 취소버튼을 누르면 아무일도 일어나지 않게 코딩해보세요

파이썬 메시지박스

from tkinter import *
from tkinter import messagebox as msg

window = Tk()
window.geometry('300x200')
window.title("메세지박스 공부하기")


#버튼1 함수
def msg1():
    str = msg.askquestion("메시지상자","파이썬을 종료할까요?")
    if str == 'yes':
        window.destroy()
    else:
        msg.showinfo("메시지상자","취소버튼을 \n누르셨습니다")



#버튼2 함수
def msg2():
    window.destroy()
    window.quit()


#버튼 만들기1
Bu1=Button(window, text="클릭", width = 10, command=msg1)
Bu1.pack(pady=5)


#버튼 만들기2
Bu2=Button(window, text="종료", width = 10, command=msg2)
Bu2.pack(pady=5)

#메인 반복문 실행
window.mainloop()


-----------------------------------------------------------------------------

▶ [ 파이썬 GUI 메시지 상자 4 ]

  - 다음과 같이 봄여름가을겨울 사진을 나타내고 버튼을 클릭하면 메시지를 출력하는 프로그램을 만들어 보세요.

파이썬 메시지상자

from tkinter import *
from tkinter import messagebox as msg

w = Tk()
w.geometry('500x400')
w.title("파이썬")

def spring():
    msg.showinfo("계절","봄입니다")

def summer():
    msg.showinfo("계절","여름입니다")

def fall():
    msg.showinfo("계절","가을입니다")

def winter():
    msg.showinfo("계절","겨울입니다")

sprimg = PhotoImage(file = "봄.png")
sprlabel = Label(w, image = sprimg)
sprlabel.place(x=193, y=45)

spr = Button(w, text="버튼", width = 5, command = spring)
spr.place(x=220, y=10)

sumimg = PhotoImage(file = "여름.png")
sumlabel = Label(w, image = sumimg)
sumlabel.place(x=295, y=150)

summ = Button(w, text="버튼", width = 5, command = summer)
summ.place(x=415, y=190)

falimg = PhotoImage(file = "가을.png")
fallabel = Label(w, image = falimg)
fallabel.place(x=90, y=150)

fall = Button(w, text="버튼", width = 5, command = fall)
fall.place(x=30, y=190)

winimg = PhotoImage(file = "겨울.png")
winlabel = Label(w, image = winimg)
winlabel.place(x=193, y=254)

win = Button(w, text="버튼", width = 5, command = winter)
win.place(x=220, y=365)

w.mainloop()
반응형
Posted by 명문코딩컴퓨터
,