Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để tăng tốc độ phản hồi cuộn khi hiển thị nhiều văn bản trong Tkinter?


Tkinter cũng có thể được sử dụng để hiển thị tệp văn bản và tải tệp đó trên canvas. Hơn nữa, các tệp văn bản có thể được sử dụng cho các mục đích khác như thao tác dữ liệu, lấy dữ liệu và hiển thị dữ liệu cho các mục đích sử dụng khác.

Giả sử chúng ta phải đọc một văn bản trong tệp canvas tkinter có chứa hơn 10.000 dòng truy vấn trong đó. Sẽ mất nhiều thời gian để tìm kiếm một truy vấn cụ thể trong canvas sau khi tải tệp văn bản. Để xử lý các tệp văn bản lớn như vậy, chúng ta có thể tăng tốc độ phản hồi của tệp bằng cách thêm thanh cuộn Y trong đó. Chúng tôi sẽ tạo tiện ích điều khiển bên bằng cách sử dụng Tiện ích thanh cuộn .

Đầu tiên, chúng tôi sẽ mở và đọc tệp bằng phương thức “mở” và sau đó, chúng tôi sẽ thêm một thanh cuộn vào trục Y của khung tkinter. Để thêm thanh cuộn vào khung, chúng tôi có thể tạo một phiên bản của nó bằng cách sử dụng Scrollbar tiện ích con. Nó lấy cá thể cửa sổ làm tham số và xác định thuộc tính khác của Scrollbar (bên của thanh cuộn, Axis).

Ví dụ

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

Đầu ra

Chạy đoạn mã trên sẽ mở canvas có thanh cuộn ở bên cạnh.

Làm cách nào để tăng tốc độ phản hồi cuộn khi hiển thị nhiều văn bản trong Tkinter?