gpt4 book ai didi

python - tkinter:如何让用户在 asksaveasfilename 对话框中选择文件类型?

转载 作者:太空宇宙 更新时间:2023-11-04 05:48:30 26 4
gpt4 key购买 nike

目前,我正在编写一个 GUI,它应该允许用户保存文件并选择文件类型(比方说:jpg、bmp)。我在 Python 3.4 中使用 tkinter。

不幸的是,我无法弄清楚用户选择了哪种文件类型:我正在使用 asksaveasfilename-dialog,我只能得到路径:

from tkinter import filedialog
path = filedialog.asksaveasfilename(filetypes = [('Bitmap', '.bmp'),('jpg', '.jpg')])

我可以尝试从路径中提取扩展名,但这可能会导致意外行为:

  1. 如果用户没有在文件名中提供扩展名但选择了文件类型,则“路径”不包含任何扩展名
  2. 如果用户首先决定使用文件名“example.bmp”,但后来选择 jpg 作为文件类型,则扩展名不是更新的(通常在窗口中)。所以“路径”仍然是:C:\...\example.bmp

有没有办法获取用户选择的文件类型?还有其他办法吗?

最佳答案

当我遇到自动更新扩展的相同问题时,我偶然发现了你的问题。显然你可以试试 addins :

pythonaddins.SaveDialog = saveFileDialog

这个几乎与 OpenDialog 相同,只是我们可以自动将特定扩展名附加到用户的输入,而不是过滤文件。也可以传入文件类型描述和扩展名的元组列表,然后填充“另存为文件类型”下拉列表,但唯一要做的就是过滤显示的文件。它实际上是将扩展名附加到返回值的 FileExtension 参数。

关于python - tkinter:如何让用户在 asksaveasfilename 对话框中选择文件类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31228956/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com