전체 소스코드
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을 각각 적용한 창이다
'python > tkinter' 카테고리의 다른 글
[Python tkinter GUI] #14 Grid(그리드) (0) | 2022.12.16 |
---|---|
[Python tkinter GUI] #12 Frame(프레임) (0) | 2022.12.16 |
[Python tkinter GUI] #11 MessageBox(메세지박스) (0) | 2022.12.16 |
[Python tkinter GUI] #10 Menu(메뉴) (0) | 2022.12.16 |
[Python tkinter GUI] #9 Progessbar(진행바) (0) | 2022.12.16 |
댓글