Python tkinter 강좌 : 제 26강 - Combobox

Python tkinter Combobox

Python tkinter 강좌 : 제 26강 - Combobox
[ Python-Tkinter ] - 윤대희

Combobox(콤보박스)


Combobox을 이용하여 텍스트와 허용된 값의 드롭다운 목록을 표시하는 콤보박스를 생성할 수 있습니다.



Combobox 사용


import tkinter
import tkinter.ttk

window=tkinter.Tk()
window.title("YUN DAE HEE")
window.geometry("640x400+100+100")
window.resizable(False, False)

values=[str(i)+"번" for i in range(1, 101)] 

combobox=tkinter.ttk.Combobox(window, height=15, values=values)
combobox.pack()

combobox.set("목록 선택")

window.mainloop()


import tkinter.ttk


상단에 import tkinter.ttk를 사용하여 ttk 모듈을 포함시킵니다.

tkinter.ttk 함수의 사용방법은 tkinter.ttk.*를 이용하여 사용이 가능합니다.


values=[str(i)+"번" for i in range(1, 101)] 

combobox=tkinter.ttk.Combobox(window, height=15, values=values)
combobox.pack()

combobox.set("목록 선택")

tkinter.ttk.Combobox(윈도우 창, 파라미터1, 파라미터2, 파라미터3, ...)을 사용하여 콤보박스의 속성을 설정할 수 있습니다.

파라미터를 사용하여 콤보박스의 속성을 설정합니다.



Combobox Method


콤보박스 메소드

이름 의미 설명
set(“문자열”) 표시값 변경 콤보박스의 현재 텍스트 변경
get() 표시값 반환 콤보박스의 현재 텍스트 반환
current(index) 목록 표시 해당 index의 목록 표시



Combobox Parameter


콤보박스 텍스트 설정

이름 의미 기본값 속성
textvariable 콤보박스에 표시할 문자열을 가져올 변수 - -
justify 콤보박스의 문자열이 여러 줄 일 경우 정렬 방법 left center, left, right



콤보박스 형태 설정

이름 의미 기본값 속성
width 콤보박스의 너비 20 상수
height 콤보박스의 드롭 다운 목록이 표시할 개수 20 상수



콤보박스 형식 설정

이름 의미 기본값 속성
cursor 콤보박스의 마우스 커서 모양 - 커서 속성
class_ 클래스 설정 - -
xscrollcommand 콤보박스의 가로스크롤 위젯 적용 - Scrollbar위젯.set
values  콤보박스의 목록 값 - list, tuple 등
exportselection 수치 조정 기압창의 선택 항목 여부 설정 True Boolean



콤보박스 동작 설정

이름 의미 기본값 속성
takefocus Tab 키를 이용하여 위젯 이동 허용 여부 False Boolean
postcommand 콤보박스에서 드롭다운 목록을 클릭할 때 실행하는 메소드(함수) - 메소드, 함수
validate 콤보박스의 유효성 검사 실행 조건 none none, focus, focusin, focusout, key, all
validatecommand 유효성 검사 평가 함수 - 함수
invalidcommand validateCommand가 False를 반환 할 때 실행할 함수 - 함수



참고


  • cursor 파라미터

    • arrow, based_arrow_down, based_arrow_up, boat, bogosity, bottom_left_corner, bottom_right_corner, bottom_side, bottom_tee, box_spiral, center_ptr, circle, clock, coffee_mug, cross, cross_reverse, crosshair, diamond_cross, dot, dotbox, double_arrow, draft_large, draft_small, draped_box, exchange, fleur, gobbler, gumby, hand1, hand2, heart, icon, iron_cross, left_ptr, left_side, left_tee, leftbutton, ll_angle, lr_angle, man, middlebutton, mouse, pencil, pirate, plus, question_arrow, right_ptr, right_side, right_tee, rightbutton, rtl_logo, sailboat, sb_down_arrow, sb_h_double_arrow, sb_left_arrow, sb_right_arrow, sb_up_arrow, sb_v_double_arrow, shuttle, sizing, spider, spraycan, star, target, tcross, top_left_arrow, top_left_corner, top_right_corner, top_side, top_tee, trek, ul_angle, umbrella, ur_angle, watch, wait, xterm, X_cursor

  • values[5, 10, 50, 100]으로 설정하였을 경우, 목록의 순서로 드롭다운 목록 표시

  • validate 파라미터

    • none : 콤보박스의 유효성 검사 실행하지 않음
    • focus : 콤보박스가 포커스를 받거나 잃을 때 validateCommand 실행
    • focusin : 콤보박스가 포커스를 받을 때 validateCommand 실행
    • focusout : 콤보박스가 포커스를 잃을 때 validateCommand 실행
    • key : 콤보박스가 수정될 경우 validateCommand 실행
    • all : 콤보박스의 모든 validate에 대해 validateCommand 실행


Book Image

책이 출간되었습니다!

C#과 파이썬을 활용한 OpenCV 4 프로그래밍

컴퓨터 비전 기초 이론부터 머신러닝을 활용한 영상 처리 프로젝트까지

  • C# OpenCvSharp4
  • Python OpenCV4
  • Using Tesseract
  • Using TensorFlow
  • Using Regular Expression
  • 윤대희 저 | 위키북스

    [yes24 바로가기] [알라딘 바로가기] [교보문고 바로가기]

    후원하기


    ⤧  Previous post Python tkinter 강좌 : 제 25강 - Spinbox ⤧  Next post Python tkinter 강좌 : 제 27강 - Progressbar
    Python-Tkinter Category