Tkinter后退按钮



我有一个Tkinter应用程序,因为我有不同的页面,所以我在那里为我的框架创建了许多类。我还为我的数据创建了一些类来帮助管理它。我想添加一个"后退按钮"来显示前一帧。为此,在我的主窗口类中,我创建了一个后退按钮,并为其分配了一个函数。每次我更改帧时,我都会更改主帧的一个参数:上一帧和当前帧。这些变量存储框架对象本身。下面是一个例子(来自数据类函数,fen是主窗口(:

fen.projView.forget()
fen.precedent = fen.projView
###
self.comView = CommandeFrame(fen,self)
self.comView.grid(column=1,row=0,sticky='nwse',padx=10,pady=10)
fen.actuel = self.comView

这是我的后台功能:

def retour(self):
self.actuel.forget()
self.precedent.grid(column=1,row=0,sticky='nwse',padx=10,pady=10)
self.actuel,self.precedent = self.precedent,self.actuel

我试着打印"先例"one_answers"实际"的值,得到正确的框架。但出于某种原因,它们实际上不会在窗口内更改,按下按钮只会交换它们,而不是在交换之前隐藏一个并显示另一个。(我也尝试过没有交换,得到了相同的结果(

有人知道为什么会这样吗?

因此,多亏了@acw1668,答案只是用.grid_forget()替换.forget()。然而,我在剩下的代码中仍然使用forget(),没有问题。

最新更新