我正在创建一个python tkinter小部件,它在加载之前会弹出一个窗口,询问您是想要一个小版本还是完整版本。我曾经把代码设置为等到该窗口在加载之前被关闭/销毁,因为它意味着我不会因为没有文件存在而得到任何错误。使用'wait_window'方法工作正常,但在更改代码后不会影响这一点,它开始返回以下错误:
_tkinter.TclError: bad window path name ".56003760"
这里是widget的代码,它在一个类中的“initUI”函数内的helt:
def Options(self):
self.Options_Window = Toplevel()
self.Options_Window.resizable(0,0)
self.Version = "Full"
self.Options_Window.wm_title("Welcome!")
textbox_lbl = Label(self.Options_Window, text="Please choose a version \n Lite is for speeded loading, full may take about 22 days, 8 hours, 13 minutes and 44 seconds to load")
textbox_lbl.pack(side=TOP, fill=Y)
lite_btn = Button(self.Options_Window, text="Lite", command=lambda:Lite_Version())
lite_btn.pack(side=BOTTOM, fill=X)
lite_btn.pack(side="left", expand=True, anchor=CENTER)
full_btn = Button(self.Options_Window, text="Full", command=lambda:Full_Version())
full_btn.pack(side=BOTTOM, fill=X)
full_btn.pack(side="right", expand=True, anchor=CENTER)
def Full_Version():
self.Version = "Full"
self.Options_Window.destroy()
def Lite_Version():
self.Version = "Lite"
self.Options_Window.destroy()
root.wait_window(self.Options_Window)
Options(self)
以下是主应用程序窗口的代码:
root = Tk()
root.wm_title("barcode manager")
root.geometry("720x350")
n = ttk.Notebook(root)
如果您需要更多代码,请随时提出。我需要尝试在周末完成这项任务,但从长远来看这并不重要,只是为了让它看起来更好。
我一直在研究这个问题,但我能找到的所有东西都没有适用于我的情况。