Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Tkinter에서 많은 텍스트를 표시할 때 스크롤 응답 속도를 높이는 방법은 무엇입니까?


Tkinter를 사용하여 텍스트 파일을 렌더링하고 캔버스에 로드할 수도 있습니다. 또한, 텍스트 파일은 데이터 조작, 데이터 수집 및 다른 용도를 위한 데이터 렌더링과 같은 다른 목적으로 사용될 수 있습니다.

10,000줄 이상의 쿼리가 포함된 tkinter 캔버스 파일에서 텍스트를 읽어야 한다고 가정해 보겠습니다. 텍스트 파일을 로드한 후 캔버스에서 특정 쿼리를 검색하는 데 오랜 시간이 걸립니다. 이러한 큰 텍스트 파일을 처리하기 위해 파일에 Y 스크롤 막대를 추가하여 파일의 응답 속도를 높일 수 있습니다. 스크롤바 위젯을 사용하여 사이드 컨트롤러 위젯을 만듭니다. .

먼저 "open" 방법을 사용하여 파일을 열고 읽은 다음 tkinter 프레임의 Y축에 스크롤 막대를 추가합니다. 프레임에 스크롤바를 추가하기 위해 스크롤바를 사용하여 스크롤바의 인스턴스를 가질 수 있습니다. 위젯. 창 인스턴스를 매개변수로 받아 Scrollbar(스크롤바 측면, Axis)의 다른 속성을 정의합니다.

예시

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

출력

위의 코드 스니펫을 실행하면 측면에 스크롤바가 있는 캔버스가 열립니다.

Tkinter에서 많은 텍스트를 표시할 때 스크롤 응답 속도를 높이는 방법은 무엇입니까?