python/tkinter
[Python tkinter GUI] #13 Scrollbar(스크롤바)
ohojee
2022. 12. 16. 17:54
전체 소스코드
from tkinter import *
root = Tk()
root.title("GUI")
root.geometry("300x150")
frame = Frame(root)
frame.pack()
scrollbar = Scrollbar(frame)
scrollbar.pack(side="right", fill="y")
#set이 없으면 스크롤을 내려도 다시 올라옴
listbox = Listbox(frame, selectmode="extended", height=10, yscrollcommand=scrollbar.set)
for i in range(1, 32):
listbox.insert(END, str(i) + "일")
listbox.pack(side="left")
scrollbar.config(command=listbox.yview)
root.mainloop()

yscrollcommand=scrollbar.set이 없으면 스크롤을 잡고 내려도
리스트가 내려가지 않고 스크롤도 다시 원위치된다
이것만 해서는 우리가 아는 스크롤처럼 동작하지 않고
꼭 listbox와 scrollbar가 서로 mapping하도록 해줘야한다
그래서 스크롤바에도
.config(command=listbox.yveiw)를 써줘야한다
.yview는 상하로 움직이는 것에 대해 처리한다

scrollbar.pack(side="right", fill="y")에서
괄호 안을 써주지 않으면 스크롤바가 이렇게 옹졸하게 뜬다


차례대로 side와 fill을 각각 적용한 창이다