반응형
체크버튼(checkbutton)

  체크버튼은 사용자 여러가지 옵션 중에서 하나 이상을 선택할 때 주로 사용됩니다.

  체크버튼은 선택 또는 선택 안함의 상태를 보여줄 수 있는 사각형의 버튼입니다.

  체크버튼은 문자열이나 이미지를 포함할 수 있습니다.

 

▶ 생성

변수 = checkbutton(부모객체, 옵션)

 

▶ 옵션

파이썬 체크버튼

 

▶ 메소드

deselect() 체크버튼 끄기
flash() 선택과 비선택시 색상 반복
invoke() 체크버튼과 연결된 함수 실행
select() 체크버튼 선택
toggle() 다른 체크버튼과 번갈아 선택

 

[ 파이썬 위젯 체크버튼 예제 1 ]

  - 좋아 하는 동물을 모두 선택하는 프로그램을 만들어 보세요

파이썬 체크 버튼

 

[ 소스 코드 ]

from tkinter import *
from tkinter import messagebox

def check1():            #선택하면 1, 비선택이면 0입니다
    str=""
    if chk1.get() == 1:
        str = str + "고양이"
    if chk2.get() == 1:
        str = str + " 강아지"
    if chk3.get() == 1:
        str = str + " 토끼"
    if chk4.get() == 1:
        str = str + " 햄스터"
    if str=='':
        show1.config(text = "다 싫어요")
    else:
        show1.config(text = str + "를 좋아합니다.")
    #messagebox.showinfo("메시지", str + "를 좋아합니다")


def end1():
    win.destroy()


win = Tk()
win.title("파이썬 위젯 체크버튼")
win.geometry("500x300")

chk1 = IntVar()
chk2 = IntVar()
chk3 = IntVar()
chk4 = IntVar()

label1 = Label(win, text = "[1번 문제] 당신이 가장 좋아하는 동물을 모두 선택하세요 ")
label1.pack()

chk11 = Checkbutton(win, text = "1. 고양이", variable=chk1)
chk11.pack()

chk12 = Checkbutton(win, text = "2. 강아지", variable=chk2)
chk12. pack()

chk13 = Checkbutton(win, text = "3. 토끼", variable=chk3)
chk13.pack()

chk14 = Checkbutton(win, text = "4. 햄스터", variable=chk4)
chk14.pack()

show1=Label(win, text = "여기에 출력됩니다")
show1.pack()


chkbutton1 = Button(win, text ="확   인", width=10, command=check1)
chkbutton1.pack()


end = Button(win, text ="종  료", width=10, command=end1)
end.pack()

win.mainloop()

 

 

[ 파이썬 위젯 체크버튼 예제 2 ]

  -  다음과 같에 체크버튼을 문자열 대신 이미지로 표시해보세요

파이썬 체크버튼 이미지

 - 먹고싶은 음식을 체크하고 확인버튼을 누르면 메시지박스에 다음과 같이 출력됩니다.

- 먹고 싶은 음식이 없으면

- 체크버튼에 이미지 넣기

photo1 = PhotoImage(file="1.png")
chk11 = Checkbutton(win,  image=photo1, variable=chk1)
chk11.grid(row=1, column=0)

 

[ 소스 코드 ]

더보기
from tkinter import *
from tkinter import messagebox

def check1():            #선택하면 1, 비선택이면 0입니다
    str=""
    if chk1.get() == 1:
        str = str + "치킨"
    if chk2.get() == 1:
        str = str + " 돈까스"
    if chk3.get() == 1:
        str = str + " 떡볶이"
    if chk4.get() == 1:
        str = str + " 햄버거"
    if str=='':
        messagebox.showinfo("메시지","다이어트 중입니다.")
    else:
        messagebox.showinfo("메시지",str + "를 선택하셨습니다.\n엄마에게 사달라고하세요")
    


def end1():
    win.destroy()


win = Tk()
win.title("파이썬 위젯 체크버튼")
win.geometry("700x500")

chk1 = IntVar()
chk2 = IntVar()
chk3 = IntVar()
chk4 = IntVar()

label1 = Label(win, text = "배고프죠? 먹고 싶은거 모두 선택하세요 ", font=("궁서체","20"))
label1.grid(row=0, column=0, columnspan=2)

photo1 = PhotoImage(file="1.png")
chk11 = Checkbutton(win,  image=photo1, variable=chk1)
chk11.grid(row=1, column=0)

photo2 = PhotoImage(file="2.png")
chk12 = Checkbutton(win, image=photo2, variable=chk2)
chk12.grid(row=1, column=1)

photo3 = PhotoImage(file="3.png")
chk13 = Checkbutton(win, image=photo3, variable=chk3)
chk13.grid(row=2, column=0)

photo4 = PhotoImage(file="4.png")
chk14 = Checkbutton(win, image=photo4, variable=chk4)
chk14.grid(row=2, column=1)



chkbutton1 = Button(win, text ="확   인", width=10, font=("궁서체","15"), command=check1)
chkbutton1.grid(row=3, column=0, columnspan=2)



end = Button(win, text ="종  료", width=10, command=end1)
end.pack()

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