我用 tkinter 写了一些代码,它工作得很好。但是突然之间,相同的代码似乎只有大约 50% 的时间成功运行。
如果我打开 Spyder 并运行代码,它不会抛出任何错误,我的 GUI 窗口不会出现,并且 IPython 被挂起。 Ctrl+C 不会杀死它。
然后我退出 IPython 控制台并让它重新启动。如果我输入一些随机命令,比如 1+1,它不会进入,除非我退格几次并重新输入。然后,在成功运行一些命令后,代码正确运行,我的 GUI 窗口显示出来,但随后退出 GUI 窗口并不会停止代码。 Ctrl+C 不会杀死它。
我猜我有一些设置要更改,但我找不到任何似乎有影响的设置。
我在 Windows 10 上有 Python 3.8、Spyder 4.1.4
import tkinter as tk
def increase():
value = int(lbl_value["text"])
lbl_value["text"] = f"{value + 1}"
def decrease():
value = int(lbl_value["text"])
lbl_value["text"] = f"{value - 1}"
window = tk.Tk()
window.rowconfigure(0, minsize=50, weight=1)
window.columnconfigure([0, 1, 2], minsize=50, weight=1)
btn_decrease = tk.Button(master=window, text="-", command=decrease)
btn_decrease.grid(row=0, column=0, sticky="nsew")
lbl_value = tk.Label(master=window, text="0")
lbl_value.grid(row=0, column=1)
btn_increase = tk.Button(master=window, text="+", command=increase)
btn_increase.grid(row=0, column=2, sticky="nsew")
window.mainloop()