본문 바로가기

Python(파이썬)/GUI(graphical user interface)

파이썬 GUI - 콤보박스

파이썬 GUI 티킨더(tkinter) 사용 방법을 모른다면?

파이썬 GUI - 기본틀 만들기

 

콤보박스 만들기

selectbox 모양으로 여러 가지 목록 중 하나를 보여줍니다

펼치기 전 모습입니다

펼친 후 모습입니다

만들기 전에 ttk를 import 해야 콤보박스(combobox) 사용이 가능합니다

 

import tkinter.ttk를 합니다

사용하기 편하게 as를 붙여서 ttk로 사용합니다

(tkinter.ttk = ttk)

콤보박스를 만드는 방법입니다

values 변수는 [] 안에 문자, 숫자 등 사용해서 만듭니다

[]로 감싸진 형태를 배열이라고 부릅니다

문자, 숫자, 문자+숫자 형태를 저장할 수 있습니다

import 했던 ttk의 Combobox 함수를 이용합니다

 

사용방법입니다

Combobox(넣을 위치, values=보여줄 값)

pack() 함수로 화면에 보여줍니다

 

콤보박스를 실행하면 아무것도 없는 채로 화면에 보입니다

 

콤보박스를 클릭하면 아래와 같이 내용이 잘 나옵니다 하지만 첫 번째 칸은 생각과 달리

빈 화면입니다

또한 빈 콤보박스에 마우스 클릭을 하고 글자를 입력하면 입력한 값이 나옵니다

우선 글자 입력이 안되게 하는 방법입니다

글자가 입력이 안 되게 하려면 콤보박스에 readonly 속성을 줘야 합니다

콥보박스에 state을 추가하고 readonly라는 속성을 주면 콤보박스는 읽기만 가능해집니다

(state='readonly'만 추가하면 됩니다)

전과 달리 입력이 안되고 마우스 클릭을 하면 바로 목록을 보여줍니다

 

콤보박스를 라디오 버튼(Radiobutton)의 select처럼 실행 시

원하는 내용을 바로 보여줄 수 있게 하는 방법입니다

콤보박스는  set을 사용합니다

"날짜 선택"을 시작할 때 보이게 해 보겠습니다

values에 날짜 선택을 지우고 set에 날짜 선택을 넣었습니다

날짜 선택이 자동으로 선택돼서 보입니다

 

추가

콤보박스의 목록을 선택하면 그 값을 알 수 있는 방법입니다

get() 함수를 사용합니다

버튼을 만들고 콤보박스의 목록 중 선택한 값을 가져옵니다

2를 선택하고 선택 버튼을 클릭하면 선택한 값 2가 잘 나옵니다