在 Tkinter 中显示大量文本时如何加快滚动响应速度?


Tkinter 也可以用来渲染文本文件并在画布上加载它。此外,文本文件可以用于其他目的,例如操作数据、获取数据以及为其他用途渲染数据。

假设我们必须在包含超过 10,000 行查询的 Tkinter 画布文件中读取文本。加载文本文件后,在画布中搜索特定查询将需要很长时间。为了处理如此大的文本文件,我们可以通过添加 Y 滚动条来加快文件的响应速度。我们将使用**滚动条部件**创建侧控制器部件。

首先,我们将使用“open”方法打开并读取文件,然后,我们将向 Tkinter 框架的 Y 轴添加滚动条。要在框架中添加滚动条,我们可以使用**Scrollbar**部件创建它的实例。它以窗口实例作为参数,并定义滚动条的其他属性(滚动条的侧边、轴)。

示例

#Importing the tkinter library in the notebook

from tkinter import *
#Create an instance of the tkinter frame
win = Tk()
win.geometry(“700x300”)

#Create instance of Scrollbar object and define the property of the scrollbar
scrollbar = Scrollbar(win)
scrollbar.pack(side=RIGHT, fill=Y)
listbox = Listbox(win, height=300, width=100)
listbox.pack()

#Open and read the file using open method
file = open('file.txt', 'r').readlines()

for i in file:
   listbox.insert(END, i)

#Define the property of the widget
listbox.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=listbox.yview)

#display the canvas until the END button is not pressed.
mainloop()

输出

运行上述代码片段将打开带有侧边滚动条的画布。

更新于:2021年3月6日

670 次浏览

启动您的职业生涯

完成课程获得认证

开始
广告