Tkinter 冻结 Python 和 Windows Explorer

Tkinter freezing Python and Windows Explorer

我经常使用 Tkinter 来提示用户并获取文件的路径。但是,我面临一个反复出现的问题,当文件对话框出现时它经常崩溃 Windows.

屏幕冻结,一切都被阻止,当我进入任务管理器时,我可以看到“Python 没有响应”,当我尝试终止 Python 时,任务管理器本身就冻结了然后我唯一的选择就是重新启动我的笔记本电脑。

这是我通常做的示例代码:

import tkinter as tk
from tkinter import filedialog
import os

window=tk.Tk()
currdir=os.getcwd()

path=filedialog.askopenfilename(parent=window, initialdir=currdir, title="Select file")

我做错了什么吗?有小费吗 ?只是这个库的性能不好吗?

包括

window.mainloop()

在你的 GUI 文件的末尾看看它是否这样工作

您是否尝试过使用 try/except 块以便即使遇到异常也能退出循环?

import tkinter as tk
from tkinter import filedialog
import os

try:
    window=tk.Tk()
    currdir=os.getcwd()

    path=filedialog.askopenfilename(parent=window, initialdir=currdir, title="Select file")
finally:
    window.mainloop()

感谢@User9701 和@Linden

根据您的建议,我按照以下方式更新了我的代码:

import tkinter as tk
from tkinter import filedialog
import os

try:
    window=tk.Tk()
    currdir=sos.getcwd()
    path=filedalog.asopenfilename(parent=window,initialdir=currdir, title="Select file")

finally:
    window.destroy()