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
반응형
'Python > [파이썬] GUI 프로그래밍' 카테고리의 다른 글
[파이썬] GUI 프로그래밍 #10 프로그래스 바 (로딩 바) 만들기 (0) | 2021.08.23 |
---|---|
[파이썬] GUI 프로그래밍 #8 라디오 버튼 만들기 (0) | 2021.08.22 |
[파이썬] GUI 프로그래밍 #7 체크 박스 만들기 (0) | 2021.08.20 |
[파이썬] GUI 프로그래밍 #6 리스트 박스 만들기 (0) | 2021.08.20 |