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

[파이썬] GUI 프로그래밍 #9 콤보 박스 만들기

예찬예찬 2021. 8. 22. 22:34
728x90
반응형

콤보 박스란 

위와 같은 것을 많이 본 적이 있을 것이다.

여러 가지 항목들 중에 하나를 선택할 수 있는 이 기능을 콤보 박스라고 한다.

 

콤보 박스를 생성하는 기본 함수는 tkinter.ttk.combobox()이지만

이를 간단히 사용하기 위해서 아래와 같이 코드를 짜면 된다.

import tkinter.ttk as ttk   # tkinter.ttk를 ttk로 줄여서 쓰겠다.

a=["Python", "JAVA", "C"]           # 콤보 박스에 나타낼 항목 리스트
combobox = ttk.Combobox(root)       # root라는 창에 콤보박스 생성
combobox.config(height=5)           # 높이 설정
combobox.config(values=a)           # 나타낼 항목 리스트(a) 설정
combobox.config(state="readonly")   # 콤보 박스에 사용자가 직접 입력 불가
combobox.set("골라 골라")           # 맨 처음 나타낼 값 설정
combobox.pack()                     # 콤보 박스 배치

이런 식으로 콤보 박스를 생성하고 설정도 할 수 있다.

 

이제 콤보 박스 중 선택된 값을 불러오는 법을 알아보자

간단하다 이전 글들과 동일하게 get() 함수를 이용하면 된다.

print(combobox.get())  # 콤보 박스에 선택된 값 프린트

마지막으로 콤보 박스를 활용하여 간단한 프로그램을 만들어보자

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 창 크기 변경 불가


import tkinter.ttk as ttk   # tkinter.ttk를 ttk로 줄여서 쓰겠다.

a=["Python", "JAVA", "C"]           # 콤보 박스에 나타낼 항목 리스트
combobox = ttk.Combobox(root)       # root라는 창에 콤보박스 생성
combobox.config(height=5)           # 높이 설정
combobox.config(values=a)           # 나타낼 항목 리스트(a) 설정
combobox.config(state="readonly")   # 콤보 박스에 사용자가 직접 입력 불가
combobox.set("골라 골라")           # 맨 처음 나타낼 값 설정
combobox.pack()                     # 콤보 박스 배치

def btnpress():              # 함수 btnpress() 정의
    a = []
    a.append(combobox.get())
    a.append("선택되었음")
    lb.config(text=a)
    
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
반응형