리스트박스(ListBox) |
리스트박스를 이용하여 목록을 불러와 추가, 제거 또는 선택할수 있습니다.
리스트박스는 리스트 항목들을 보여주는 위젯을 생성합니다.
리스트박스에는 같은 폰트와 색상을 가진 문자열만 포함될 수 있습니다.
사용자는 하나 또는 그 이상의 항목들을 선택할 수 있습니다.
▶ 생성
tkinter.ListBox(윈도우 창, 파라미터1, 파라미터2, 파라미터3, ...... ) |



♠ relief [default value:'sunken'] - Listbox위젯의 테두리모양
"flat", "groove", "raised", "ridge", "solid", "sunken"
♠ width [default value:20] : number of characters - Listbox위젯의 가로크기
값을 0으로 주면 문자열의 길이에 맞춰서 Listbox의 크기가 자동으로 조절된다.
♠ height [default value:10] : number of characters - Listbox위젯의 세로크기
값을 0으로 주면 아이템의 갯수에 맞춰서 Listbox의 크기가 자동으로 조절된다.
[ 파이썬 위젯 리스트박스 예제1 ]
- 삭제버튼 : 목록을 클릭하고 삭제버튼을 누르면 목록이 삭제됩니다.
- 모두삭제버튼 : 목록 전체가 삭제됩니다.
- 초기화 : 목록이 1번 ~ 8번까지 추가됩니다.
- 저장하기 : 목록이 저장됩니다.

[ 소스코드 ]
from tkinter import *
win = Tk()
win.geometry('200x350')
win.title("파이썬 위젯 리스트박스")
def change():
for item in ["탕수육","피자","치킨","햄버거", "스테이크","족발","짜장면","짬뽕"]:
lb.insert(END, item)
def delete():
lb.delete(0, END)
def save():
z = lb.get(0, END)
print(z)
label = Label(win, text ="현재 먹고 싶은 음식 순위")
label.pack()
lb=Listbox(win, selectmode='extended')
lb.insert(0, "1번 탕수육")
lb.insert(1, "2번 피자")
lb.insert(2, "3번 치킨")
lb.insert(3, "4번 햄버거")
lb.insert(END, "5번 스테이크")
lb.insert(END, "6번 족발")
lb.insert(END, "7번 짜장면")
lb.insert(END, "8번 짬뽕")
lb.pack()
btn = Button(win, text ="삭 제", command = lambda lb=lb: lb.delete(ANCHOR))
btn.pack()
btn2 = Button(win, text ="모두삭제", command=delete)
btn2.pack()
btn3 = Button(win, text ="초 기 화", command=change)
btn3.pack()
btn4 = Button(win, text ="저장하기", command=save)
btn4.pack()
win.mainloop()
[ 파이썬 위젯 리스트박스 예제2 ]
- 오른쪽에 스크롤바를 만들어 봅시다.
- 다음은 스크롤바를 생성하는 코드입니다
sb = Scrollbar(win, orient=VERTICAL)
sb.pack(side=RIGHT, fill=Y)
- 다음은 스크롤바와 리스트박스를 연결시켜주는 코드입니다.
없으면 스크롤바만 생기고, 두 위젯이 서로 상호작용하지 않습니다.
sb.configure(command=lb.yview)
lb.configure(yscrollcommand=sb.set)

from tkinter import *
win = Tk()
win.title("파이썬 위젯 리스트박스")
sb = Scrollbar(win, orient=VERTICAL)
sb.pack(side=RIGHT, fill=Y)
lb=Listbox(win, selectmode='extended', height=5)
lb.insert(0, "1번 탕수육")
lb.insert(1, "2번 피자")
lb.insert(2, "3번 치킨")
lb.insert(3, "4번 햄버거")
lb.insert(END, "5번 스테이크")
lb.insert(END, "6번 족발")
lb.insert(END, "7번 짜장면")
lb.insert(END, "8번 짬뽕")
lb.pack()
sb.configure(command=lb.yview)
lb.configure(yscrollcommand=sb.set)
win.mainloop()
'파이썬 GUI' 카테고리의 다른 글
11. 파이썬 위젯 - 캔버스(사각형그리기) (0) | 2020.12.16 |
---|---|
10. 파이썬 위젯 - 캔버스(선그리기) (0) | 2020.12.15 |
8. 파이썬 위젯 - 프레임 (0) | 2020.12.14 |
7. 파이썬 위젯 - 체크버튼 (0) | 2020.12.13 |
6. 파이썬 위젯 - 라디오버튼 (0) | 2020.12.13 |