본문 바로가기
GUI 튜토리얼/tkinter 한꼬집씩만 따라해보기

12. 콤보박스에서 주어진 값만 선택 할 수 있게 변경하기

by 일코 2022. 11. 16.

지난 포스팅

지난 포스팅에서는 ttk에 대한 간단한 설명과 함께

콤보박스의 기본적인 삽입방법에 대해 알려드렸습니다.

2022.11.16 - [기타/tkinter 한꼬집씩만 따라해보기] - 11. 콤보박스 위젯 추가하기

 

11. 콤보박스 위젯 추가하기

지난 포스팅 지난 포스팅까지 tkinter의 기본적인 위젯들과 간단한 레이아웃, 그리고 command와 이벤트 바인딩의 사용법까지 가볍게 훑어보았습니다. 2022.11.15 - [기타/tkinter 한꼬집씩만 따라해보기]

martinii.fun


 

이번 포스팅에서는 : 콤보박스 선택만 할 수 있게

import tkinter as tk
from tkinter import ttk

win = tk.Tk()

combobox = ttk.Combobox(win, state="readonly")  # <---
combobox.grid(row=0, column=0, padx=20, pady=20)
combobox["values"] = [-2, -1, 0, 1, 2]
combobox.current(2)  # <---

win.mainloop()

 

지난 포스팅에서의 코드와 거의 동일한데,

딱 두 줄이 수정/추가되었습니다.

combobox 인스턴스를 생성할 때 state="readonly"라는 옵션 추가

이 부분이 타이핑 대신 주어진 값만 선택할 수 있는 옵션입니다.

마지막 즈음에 combobox.current(2) 라는 라인 추가

2번 인덱스의 값(이 예제에서는 0)을 기본선택해두라는 코드입니다.

실행해보면

지난 포스팅에서 콤보박스를 클릭했을 때 엔트리처럼 커서가 깜빡거리던 것과는 상반되게

바로 콤보박스 리스트가 펼쳐집니다.

사용자 입력을 어느 정도 선에서 제한할 필요가 있다면 state="readonly" 옵션은 필수겠죠.

 

다음 포스팅

2022.11.16 - [기타/tkinter 한꼬집씩만 따라해보기] - 13. 콤보박스와 레이블 연계하는 두 가지 방법

 

13. 콤보박스와 레이블 연계하는 두 가지 방법

지난 포스팅 지난 포스팅까지 두 회에 걸쳐 콤보박스를 엔트리처럼 입력하는 방법, 리스트에서 선택만 하게 하는 방법을 알아보았습니다. 2022.11.16 - [기타/tkinter 한꼬집씩만 따라해보기] - 12. 콤

martinii.fun

 

댓글