在我的 Python 3.3 代码中,我使用了 ttk 库中的一些组合框,它们运行良好,但如果我使用其中任何一个,当我使用 X 按钮关闭窗口时会出现异常。这是一个例子:
from tkinter import Tk,Label,Button
from tkinter import ttk
from tkinter.ttk import Combobox
def cbox_do(event):
'Used for cbox.'
clabel.config(text=cbox.get())
a = Tk()
cbox = Combobox(a, value=('Luke','Biggs','Wedge'), takefocus=0)
cbox.bind("<<ComboboxSelected>>", cbox_do)
cbox.pack()
clabel = Label(a)
clabel.pack()
a.mainloop()
如果您在不选择值的情况下关闭它,一切都很好,但是在选择一个值后尝试关闭它,它会退出但会在 python 命令行中打印以下错误:
can't invoke "winfo" command: application has been destroyed
while executing
"winfo exists $w"
(procedure "ttk::entry::AutoScroll" line 3)
invoked from within
"ttk::entry::AutoScroll .41024560"
(in namespace inscope "::" script line 1)
invoked from within
"::namespace inscope :: {ttk::entry::AutoScroll .41024560}"
("uplevel" body line 1)
invoked from within
"uplevel #0 $Repeat(script)"
(procedure "ttk::Repeat" line 3)
invoked from within
"ttk::Repeat"
("after" script)
我该如何解决?如果您能提供任何帮助,我将不胜感激。
更新 1:我的 Python 版本是 v3.3,我使用捆绑的 Tcl/Tk 和 Tkinter。我尝试了 x86 和 x64 版本。
更新 2:仅当我从命令行运行脚本时才会引发异常。它不会出现在空闲状态。