【发布时间】:2019-12-30 00:23:44
【问题描述】:
我无法理解如何在 tkinter 中切换帧。
我正在使用在互联网上非常流行的代码,该代码通过将帧一个一个堆叠然后调用它们来切换帧。我无法理解几行代码(带有*** 的代码)
import tkinter as tk
class SampleApp(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__ (self, *args, **kwargs)
container=tk.Frame(self)
container.pack(side="top", fill="both", expand=True)
self.frames={}
for F in (a, b, c):***
page_name=F.__name__***
frame=F(parent=container, controller=self)
self.frames[page_name]=frame
frame.grid(row=0, column=0, sticky="nsew")
self.show_frame("a")
def show_frame(self, page_name):
frame=self.frames[page_name]
frame.tkraise()
所以我有2个问题,第一个是为什么在for循环中a,b,c写成变量,而不是字符串(当我要显示框架a时,我把“a”写成字符串)。二、__name__在这种情况下是做什么的,有什么必要。
【问题讨论】: