본문 바로가기

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

파이썬 GUI - 리스트박스

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

파이썬 GUI - 기본틀 만들기

 

여러 가지 선택지 중에서 하나를 선택하거나 또는 여러 개를 선택해야 할 때

사용할 수 있는 방법 중 하나로 선택지 목록을 만들고 선택지를 보여주는 방법이 있습니다

바로 리스트 박스입니다

리스트 박스(selectbox) 사용법입니다

리스트 박스 만들기

Listbox() 사용합니다

과일을 예로 만들겠습니다

리스트 박스(Listbox)는 텍스트(Text), 엔트리(Entry)처럼 insert로 원하는 내용을 추가할 수 있습니다

방법은 insert(넣을 위치, 내용)입니다

위치는 0부터 시작합니다 그런데 양이 많으면 숫자를 일일이 쓰기가 힘들어집니다

그럴 때 END를 입력하면 항상 마지막에 부분에 추가가 됩니다

첫 번째는 실행 화면이고 두 번째는 선택한 화면입니다

실행 시 선택지보다 큰 크기를 차지하고 현재는 무조건 하나만 선택이 가능합니다

리스트 박스(Listbox)에 옵션을 줄 수 있습니다

selectmode와 height 통해서 원하는 모습으로 변경할 수 있습니다

selectmode는 선택지를 하나만 선택할지 여러 개를 선택할지 정해줍니다

height는 리스트 박스(Listbox) 크기를 정해줍니다

사용 방법입니다

selectmode

selectmode는 기본적으로 single입니다

selectmode='single' 하나만 선택 가능합니다

여러 개를 선택할 때는 extended입니다

selectmode='extended' 여러 개 선택 가능합니다

실행화면입니다

single 딸기 하나만 선택 가능하고 entended 사과, 딸기, 바나나 선택한 모습입니다

height

height는 리스트 박스(Listbox)의 크기를 정해줍니다

height=0 선택지 목록의 개수와 동일한 크기를 가집니다

사과, 딸기, 바나나, 수박, 포도 5개일 경우 5

사과, 딸기, 바나나 3개일 경우 3입니다

height가 0일 경우 선택지가 많을수록 크기가 커집니다

이럴 경우 지정된 크기를 줄 때 0 대신 원하는 크기를 설정합니다

height=3 목록의 개수에 상관없이 3의 크기를 가집니다

실행화면입니다

사과, 딸기, 바나나, 수박, 포도 5개가 있습니다

height=0 값은 목록이 전부 나오고

height=3 값은 3개만 목록이 나옵니다

 

추가

리스트 박스(Listbox)의 선택지 목록 삭제하는 방법

delete 함수를 사용해서 지울 수 있습니다

사용 방법은 delete(삭제 위치)입니다

END :  맨 뒤의 선택지 삭제

0 : 맨 처음의 선택지 삭제

 

리스트 박스(Listbox)의 선택지 목록 개수 세는 방법

size 함수를 사용해서 알 수 있습니다

사용방법은 size()입니다

리스트 박스(Listbox)의 선택한 선택지 확인하는 방법

get 함수를 사용해서 알 수 있습니다

사용방법은 get(시작 위치, 끝 위치)입니다

get(0, 2)를 입력할 경우 0번째 선택지부터 2번째 선택지까지의 값을 가져옵니다

실제로 1~3 순서의 값을 가져옵니다

가져온 값의 순서를 알 수 있는 방법도 있습니다

curselection 함수를 사용해서 알 수 있습니다

사용방법은 curselection()입니다

선택한 선택지가 위치한 값을 가져옵니다

사과, 딸기, 바나나, 수박, 포도 순서로 있을 경우

사과를 선택하고 curselection() 함수를 실행하면 0이라는 값을 가져옵니다 

코드