在我的tkinter项目中,我的代码中有两个类,即input
和search
。这两个类各自都工作得很好,并且在它们下面包含一堆子页面,我可以在其中导航。但是我不能在这两个类之间切换。由于我的项目相当大,我在下面以通用代码的形式提供了我的方法
InputOrSearch = False
class Input: # class 1
[...]
class Search: # class 2
def __init__(self, screen):
self.screen = screen
def CheckPage(self, page, optmenu=None):
if page == 1:
self.Clear()
self.search_menu()
def Clear(self):
for widget in self.screen.winfo_children():
widget.destroy()
[...]
inputscreen = Input(gui)
searchscreen = Search(gui)
def inputorsearch():
if not InputOrSearch:
inputscreen.CheckPage(1)
else:
searchscreen.CheckPage(1)
while True:
inputorsearch()
gui.mainloop()
这就是我使用的方法,尽管这正确地导致了Input
,但出于某种原因,它似乎不适用于Search
最简单的解决方案是使每个类都成为
Frame
的子类。然后,通过销毁一个实例并创建另一个实例,或者在启动时创建所有实例,然后隐藏一个实例并显示另一个实例,可以轻松地在它们之间切换相关问题 更多 >
编程相关推荐