实现';背面';自定义python应用程序中的按钮?

实现';背面';自定义python应用程序中的按钮?,python,tkinter,architecture,software-design,Python,Tkinter,Architecture,Software Design,我创建了一个功能丰富的应用程序,它包含多个tkinter GUI和用户输入。在用户输入之间,还有其他函数,根据相应的用户输入调用这些函数 现在我想在这个应用程序中添加“后退”按钮。最聪明的方法是什么?我最好的猜测是添加一个索引变量,每次用户确认时,该变量都会递增,点击“后退”按钮时,该变量会递减。然后,我将使用索引变量调用相应的GUI 作为类定义的一部分,我将实现以下方法: def call_gui(self): if self.gui_idx == 1: self.ca

我创建了一个功能丰富的应用程序,它包含多个tkinter GUI和用户输入。在用户输入之间,还有其他函数,根据相应的用户输入调用这些函数

现在我想在这个应用程序中添加“后退”按钮。最聪明的方法是什么?我最好的猜测是添加一个索引变量,每次用户确认时,该变量都会递增,点击“后退”按钮时,该变量会递减。然后,我将使用索引变量调用相应的GUI

作为类定义的一部分,我将实现以下方法:

def call_gui(self):
    if self.gui_idx == 1:
        self.call_gui_1()
    elif self.gui_idx == 2:
        self.call_gui_2()
    ...

def back(self):
    self.gui_idx -= 1

def continue(self):
    self.gui_idx += 1

尽管这样做会奏效,但我觉得有一种更优雅的方式可以做到这一点。这是在真实软件中实现此行为的基本索引方式吗?

一种非常通用的方法是使用堆栈实现它。当转到新UI时,
将其推入堆栈,当单击
返回
时,只需
弹出
堆栈顶部即可。