我有一个基于TKinter的应用程序,试图管理游戏设置。用户可能安装了该游戏的多个版本,在这种情况下,我需要询问用户启动时要管理的安装。这部分工作足够好,主窗口构建完成后弹出选择对话框,并以模态方式运行。隐藏Tkinter根窗口,同时显示模式窗口
但是,由于游戏版本之间的差异,如果我可以稍微调整接口以适应这些情况,这将非常有用。然而,这意味着我不能真正构建主窗口,直到我知道我正在进行哪种安装,所以在用户做出选择之前它将一直是空白的。
我想隐藏根窗口,而正在显示该对话框,但在调用根窗口withdraw只是导致模态对话框不会显示任何 - Python的只是最终没有CPU使用率挂,我可以我不知道如何解决这个问题,而不必诉诸非模态窗口(以及我想避免的显着不同的控制流程)。
示例代码出现该问题和一般的代码结构(Python的2.7):
from Tkinter import *
from ttk import *
class TkGui(object):
def __init__(self):
self.root = root = Tk()
self.root.withdraw()
selector = FolderSelection(self.root, ('foo', 'bar'))
self.root.deiconify()
print(selector.result)
class ChildWindow(object): #Base class
def __init__(self, parent, title):
top = self.t