教程 > tkinter 教程 > 阅读:159

tkinter 教程 滚动条——迹忆客-ag捕鱼王app官网

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()

tkinter 滚动条基础

self.scrollbar = tk.scrollbar(self.window)

它启动 scrollbar 实例。

self.listbox = tk.listbox(self.window, yscrollcommand=self.scrollbar.set)
.
.
self.scrollbar.config(command=self.listbox.yview)

我们需要同时配置 listboxscrollbar 以使他们能正确地耦合在一起。

  1. 将 yscrollcommand 回调设置为 scrollbar 的 set。yscrollcommand 是由滚动条控制的可滚动控件的选项,用于与垂直滚动条进行通信。
  2. 设定 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()

tkinter 滚动条水平

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 方法连接。

查看笔记

扫码一下
查看教程更方便
网站地图