Tkinter에서는 단일 GUI 내에서 여러 프레임을 관리하는 것이 일반적인 시나리오일 수 있습니다. 복잡한 프로그램을 개발할 때 사용자 입력에 따라 프로그램 섹션 간에 전환해야 할 수도 있습니다. 이 작업을 수행하기 위한 우아한 접근 방식은 다음과 같습니다.
프레임을 파괴하고 다시 만드는 대신 Tkinter는 프레임을 서로 쌓는 더욱 효율적인 솔루션을 제공합니다. 쌓인 순서를 조작하면 원하는 프레임만 표시하고 다른 프레임은 숨길 수 있습니다.
이 기술은 모든 프레임의 크기가 동일할 때 가장 효과적입니다. 그러나 일부 조정을 통해 다양한 크기의 프레임을 수용할 수도 있습니다.
다음 코드 조각을 고려하세요.
import tkinter as tk class SampleApp(tk.Tk): def __init__(self): # ... container = tk.Frame(self) container.pack(side="top", fill="both", expand=True) container.grid_rowconfigure(0, weight=1) container.grid_columnconfigure(0, weight=1) self.frames = {} for F in (StartPage, PageOne, PageTwo): page_name = F.__name__ frame = F(container, self) self.frames[page_name] = frame frame.grid(row=0, column=0, sticky="nsew") self.show_frame("StartPage") def show_frame(self, page_name): # ...
여기서 SampleApp을 만듭니다. 프레임의 스태킹을 관리하는 클래스입니다. 프로그램의 서로 다른 페이지를 나타내는 세 가지 클래스(StartPage, PageOne 및 PageTwo)를 정의합니다.
show_frame() 메서드는 페이지 이름을 인수로 사용하고 해당 프레임을 스택 순서의 맨 위로 올립니다.
이 기술을 사용하면 show_frame() 메서드를 호출하기만 하면 프레임 간 원활한 전환이 가능합니다. Tkinter 애플리케이션에서 GUI를 구성하고 탐색하는 구조적이고 효율적인 접근 방식을 제공합니다.
위 내용은 Tkinter GUI에서 여러 프레임 사이를 효율적으로 탐색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!