根据这个网站Tkinter Dialogs,我应该能够在函数tkinter.filedialdialog.askdirectory(**options)中包含'multiple=True'。我希望我在Python中创建的GUI的用户能够一次选择多个文件夹。
下面是我的代码片段:
import tkinter as tk
from tkinter import filedialog
from tkinter import messagebox
# Function to add folder to the base_list
def add_base_folder():
initial_dir = r"C:\P&G LA VA 23 NNIT"
folder = filedialog.askdirectory(initialdir=initial_dir, multiple=True)
if folder:
if folder in selected_folders:
messagebox.showinfo("Duplicate Folder", "Folder path already selected.")
else:
base_list.insert(tk.END, folder)
selected_folders.add(folder)
base_label.destroy()
字符串
但是,我得到了这个错误:
File "C:\ProgramData\anaconda3\lib\tkinter\commondialog.py", line 45, in shows = master.tk.call(self.command, *master._options(self.options))_tkinter.TclError: bad option "-multiple": must be -initialdir, -mustexist, -parent, or -title
型
我的代码在没有'multiple= True'的情况下工作得很好,所以我知道这就是问题所在。但是,我想知道为什么Tkinter对话框文档页面说我可以做一些我显然不能做的事情。
谢谢你,谢谢
1条答案
按热度按时间8aqjt8rx1#
multiple
不是askdirectory
的有效参数,正如错误所述。您可以通过查看tkinter源代码来确认它只是tk_chooseDirectory
的 Package 器,并查看tk_chooseDirectory的规范tk文档我认为官方的tkinter文档在如何呈现可用选项方面有点草率。