Tkinter 教程-滚动条
Tkinter 滚动条控件通常用于滚动控件,比如 ListBox
,Text
或 Canvas
在竖直方向上滚动或 Entry
在水平方向滚动。它在合适的位置显示滑块。
Tkinter 滚动条
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)
它启动 Scrollbar
实例。
self.listbox = tk.Listbox(self.window, yscrollcommand=self.scrollbar.set)
.
.
self.scrollbar.config(command=self.listbox.yview)
我们需要同时配置 Listbox
和 Scrollbar
以使他们能正确地耦合在一起。
- 将
yscrollcommand
回调设置为Scrollbar
的set
。yscrollcommand
是由滚动条控制的可滚动控件的选项,用于与垂直滚动条进行通信。 - 设定
Scrollbar
的command
到Listbox
的yview
。当用户移动Scrollbar
的滑块时,它将使用适当的参数调用yview
方法。
Tkinter 水平滚动条
水平滚动条用于在水平方向滚动窗口控件 Text
和 Entry
等。
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
方法,而不是设置上面的示例中的 yscrollcommand
。
self.scrollbar.config(command=self.text.xview)
相应地,水平滚动条的回调应与 xview
方法连接,而不是与 yview
方法连接。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。