Tkinter 튜토리얼-스크롤바
Tkinter Scrollbar 위젯은 일반적으로 ListBox
,Text
또는 Canvas
와 같은 위젯을 세로로 또는 Entry
를 가로로 스크롤하는 데 사용됩니다. 올바른 위치에 슬라이더가 표시됩니다.
Tkinter ScrollBar
import tkinter as tk
class Scrollbar_Example:
def __init__(self):
self.window = tk.Tk()
self.scrollbar = tk.Scrollbar(self.window)
self.scrollbar.pack(side="right", fill="y")
self.listbox = tk.Listbox(self.window, yscrollcommand=self.scrollbar.set)
for i in range(100):
self.listbox.insert("end", str(i))
self.listbox.pack(side="left", fill="both")
self.scrollbar.config(command=self.listbox.yview)
self.window.mainloop()
if __name__ == "__main__":
app = Scrollbar_Example()
self.scrollbar = tk.Scrollbar(self.window)
스크롤바 인스턴스를 시작합니다.
self.listbox = tk.Listbox(self.window, yscrollcommand=self.scrollbar.set)
self.scrollbar.config(command=self.listbox.yview)
Listbox
와 Scrollbar
를 모두 올바르게 연결하려면 구성해야합니다.
yscrollcommand
콜백을Scrollbar
의set
으로 설정하십시오.yscrollcommand
는 스크롤 막대로 제어되는 스크롤 가능한 위젯 옵션으로, 수직 스크롤바.- 스크롤바의
command
를Listbox
의yview
로 설정하십시오. 사용자가 ‘스크롤바’슬라이더를 움직이면 적절한 인수로yview
메소드를 호출합니다.
Tkinter 가로 스크롤 막대
가로 스크롤 막대는 ‘텍스트’및 ‘항목’과 같은 위젯을 가로 방향으로 스크롤하는 데 사용됩니다.
import tkinter as tk
class Scrollbar_Example:
def __init__(self):
self.window = tk.Tk()
self.scrollbar = tk.Scrollbar(self.window, orient=tk.HORIZONTAL)
self.scrollbar.pack(side="bottom", fill="x")
self.text = tk.Text(self.window, wrap="none", xscrollcommand=self.scrollbar.set)
self.text.insert("end", str(dir(tk.Scrollbar)))
self.text.pack(side="top", fill="x")
self.scrollbar.config(command=self.text.xview)
self.window.mainloop()
if __name__ == "__main__":
app = Scrollbar_Example()
self.scrollbar = tk.Scrollbar(self.window, orient=tk.HORIZONTAL)
orient
를 HORIZONTAL
로 지정하여 가로 스크롤 막대를 시작합니다.
self.text = tk.Text(self.window, wrap="none", xscrollcommand=self.scrollbar.set)
텍스트를 가로로 스크롤하려면 위의 예에서와 같이 xscrollcommand
를 Scrollbar
의 set
메소드로 설정해야합니다.
self.scrollbar.config(command=self.text.xview)
이에 상응하여, 가로 스크롤 막대의 콜백은 yview
가 아닌 xview
메소드로 연결되어야합니다.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook