Python/[파이썬] GUI 프로그래밍

[파이썬] GUI 프로그래밍 #7 체크 박스 만들기

예찬예찬 2021. 8. 20. 23:28
728x90
반응형

체크 박스를 생성하는 기본 함수는 Checkbutton()이다.

 

chkvar = IntVar()                           # chkvar 에 int 형으로 값을 저장
chkbox = Checkbutton(root, variable=chkvar) # root라는 창에 체크 박스 생성
chkbox.config(text="체크해주세요")   # 체크박스에 나타낼 내용 설정
chkbox.pack()                               # 체크박스 배치

 이렇게 간단히 체크박스를 만들 수 있다.

그런데 첫째줄과 variable=chkvar 이 부분은 잠깐 설명하자면

 

체크박스가 체크되어있는 상태를 1

체크박스가 체크되어 있지 않은 상태를 0

이라고 할때 이 값을 chkvar에 저장한다는 뜻이다.

 

아래 간단한 프로그램을 통해 체크박스 사용법을 더 알아보자.

 

from tkinter import *            # tkinter 라이브러리에 모든 함수를 사용하겠다.
root = Tk()                      # root라는 창을 생성
root.geometry("600x400")       # 창 크기설정
root.title("yeachan_yeachan")    # 창 제목설정
root.option_add("*Font","맑은고딕 25") # 폰트설정
root.resizable(False, False)  # x, y 창 크기 변경 불가


def btnpress():                   # 함수 btnpress() 정의
    a = []
    if chkvar.get() == 1:         # 체크박스가 체크 되었는지 확인
        a.append("Python")
    if chkvar1.get() == 1:
        a.append("C")
    if chkvar2.get() == 1:
        a.append("Java")
    a.append("선택되었습니다.")
    lb.config(text=a)             # 레이블에 값 입력
    
chkvar = IntVar()                             # chkvar에 int 형으로 값을 저장
chkbox = Checkbutton(root, variable=chkvar)   # root라는 창에 체크박스 생성
chkbox.config(text="Python")                  # 체크박스 내용 설정
chkbox.pack()                                 # 체크박스 배치

chkvar1 = IntVar()                            # chkvar1에 int 형으로 값을 저장
chkbox1 = Checkbutton(root, variable=chkvar1) # root라는 창에 체크박스 생성
chkbox1.config(text="C")                      # 체크박스 내용 설정
chkbox1.pack()                                # 체크박스 배치

chkvar2 = IntVar()                            # chkvar2 에 int 형으로 값을 저장
chkbox2 = Checkbutton(root, variable=chkvar2) # root라는 창에 체크박스 생성
chkbox2.config(text="Java")                   # 체크박스 내용 설정
chkbox2.pack()                                # 체크박스 배치
    
btn = Button(root)                # root라는 창에 버튼 생성
btn.config(text= "선택")          # 버튼 내용 
btn.config(width=10)              # 버튼 크기
btn.config(command=btnpress)      # 버튼 기능 (btnpree() 함수 호출)
btn.pack()                        # 버튼 배치

lb = Label(root)                 # root라는 창에 레이블 생성
lb.pack()                        # 레이블 배치

root.mainloop()                  # 창 실행

이런 식으로 체크박스의 체크 여부에 따른

출력값을 보여주는 프로그램을 만들 수 있다.

아래는 실행 화면이다.

 

이렇게 체크박스를 다룰 수 있게 되었다.

 

다름 글에서는 체크박스와는 비슷하지만 다른

라디오 버튼에 대해 알아보도록 하겠다.

728x90
반응형