ttkbootstrap bgerror 无法处理后台错误

问题描述 投票:0回答:1

Python 控制台窗口:

Python Console Window

希望有人可以帮助解决我在 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 小部件。只有当我重新启动控制台时它才能正常运行。任何解决这个问题的帮助都会很棒。

tkinter ttkwidgets ttkbootstrap
1个回答
0
投票

发生这种情况是因为窗口被销毁时 ttkbootstrap Style 单例不会重置,并尝试使用已被销毁的同一窗口。

您可以通过在重新创建新窗口之前设置

ttkbootstrap.Style.instance = None
来解决此问题。 如果您在进程的生命周期内只创建一个
Window
的脚本,则不会发生这种情况。

© www.soinside.com 2019 - 2024. All rights reserved.