전체 소스코드
import tkinter.ttk as ttk
from tkinter import *
root = Tk()
root.title("GUI")
root.geometry("300x150")
#콤보상자 만들기(기재된 값 이외의 값으로도 수정 가능)
values = [str(i) + "일" for i in range(1, 32)]
combobox = ttk.Combobox(root, height=5, values=values)
combobox.pack()
combobox.set("카드 결제일") #최초 목록 제목 설정, 버튼 클릭으로 값 설정도 가능
#콤보상자 만들기(기재된 값 이외의 값으로 수정 불가능)
readonly_combobox = ttk.Combobox(root, height=10, values=values, state="readonly")
readonly_combobox.current(0) #0번째 인덱스 값 선택
readonly_combobox.pack()
def btncmd():
print(combobox.get()) #선택된 값 표시
print(readonly_combobox.get())
btn = Button(root, text="선택", command=btncmd)
btn.pack()
root.mainloop()
Combobox
콤보박스는 사이트를 가입할 때 흔히 볼 수 있다
생년월일을 기입할 때 아래화살표를 누르면 주르륵 뜨게 하는게 콤보박스이다
콤보박스 만들기
#콤보상자 만들기(기재된 값 이외의 값으로도 수정 가능)
values = [str(i) + "일" for i in range(1, 32)]
combobox = ttk.Combobox(root, height=5, values=values)
combobox.pack()
combobox.set("카드 결제일") #최초 목록 제목 설정, 버튼 클릭으로 값 설정도 가능
values=에 넣고싶은 값 리스트를 넣어주면 올바르게 작동된다
이때 콤보상자의 기본값은 콤보박스이름.set()으로 설정할 수 있다


한 항목을 설정한 후 선택 버튼을 누르면 알맞게 출력된다
#콤보상자 만들기(기재된 값 이외의 값으로 수정 불가능)
readonly_combobox = ttk.Combobox(root, height=10, values=values, state="readonly")
readonly_combobox.current(0) #0번째 인덱스 값 선택
readonly_combobox.pack()
위처럼 항목값 이외의 문자열로 최초 목록 제목을 설정할 수 있지만
목록의 값 중 하나로도 선택이 가능하다
콤보박스이름.current() 안에 인덱스를 넣어주면 된다
목록값 이외의 값만 선택하게 하고 싶을 경우에는
Combobox의 속성에 state="readonly"를 추가해주면 된다
그러면 위쪽의 콤보박스는 키보드로 텍스트를 추가한대로 출력되지만
아래의 콤보박스는 원래 있는 값만 선택 가능하다

'python > tkinter' 카테고리의 다른 글
[Python tkinter GUI] #10 Menu(메뉴) (0) | 2022.12.16 |
---|---|
[Python tkinter GUI] #9 Progessbar(진행바) (0) | 2022.12.16 |
[Python tkinter GUI] #7 Radiobutton(라디오버튼) (0) | 2022.12.16 |
[Python tkinter GUI] #6 Checkbutton(체크버튼) (0) | 2022.12.16 |
[Python tkinter GUI] #5 Listbox(리스트박스) (0) | 2022.12.16 |
댓글