tkinter filedialogaskopenfilename运行完立即关闭窗口
问题描述:
使用tkinter的文件对话框方法filedialog.askopenfilename()时,弹出文件对话框后选择文件后,文件对话框窗口会立即关闭,无法获取选择的文件路径。
问题原因:
该问题通常是因为在执行filedialog.askopenfilename()方法时没有将其作为一个独立的窗口打开,而是将其作为主窗口的子窗口打开,导致选择文件后,主窗口的关闭行为也被传递给了文件对话框窗口,从而导致文件对话框窗口立即关闭。
解决办法:
将文件对话框方法filedialog.askopenfilename()作为一个独立的窗口打开,即使用Toplevel()方法创建一个新的窗口来运行filedialog.askopenfilename()方法。这样选择文件后,主窗口的关闭行为就不会影响文件对话框窗口了。
示例代码:
import tkinter as tk
from tkinter import filedialog
def open_file():
file_path = filedialog.askopenfilename()
print(file_path)
root = tk.Tk()
root.geometry('200x200')
btn_open = tk.Button(root, text='打开文件', command=open_file)
btn_open.pack()
root.mainloop()
在该示例代码中,使用Toplevel()方法创建一个新的窗口来运行filedialog.askopenfilename()方法,从而解决了文件对话框窗口立即关闭的问题
原文地址: https://www.cveoy.top/t/topic/eDrU 著作权归作者所有。请勿转载和采集!