Python 控制台窗口:
希望有人可以帮助解决我在 ttkbootstrap 中连续运行程序而无需重新启动控制台时收到的此错误。如果我重新启动控制台窗口,则不会发生这种情况。
import tkinter as tk
import ttkbootstrap as ttk
from tkinter import messagebox
import pandas as pd
root = ttk.Window(title="Hello", themename="superhero")
root.geometry("800x650")
root.mainloop()
如果我有这个简单的窗口并运行它,关闭它,然后再次运行它,我会收到附图中的错误消息。另外,在后续运行中,我的程序似乎没有合并 ttkbootstrap 小部件。只有当我重新启动控制台时它才能正常运行。任何解决这个问题的帮助都会很棒。
发生这种情况是因为窗口被销毁时 ttkbootstrap Style 单例不会重置,并尝试使用已被销毁的同一窗口。
您可以通过在重新创建新窗口之前设置
ttkbootstrap.Style.instance = None
来解决此问题。 如果您在进程的生命周期内只创建一个 Window
的脚本,则不会发生这种情况。