python - PySimpleGUI 从 FileSaveAs 对话框中获取选定的扩展名
问题描述
我在我的 PySimpleGUI 应用程序中创建了一个FileSaveAsfile_types
按钮,并将可用的选项定义为“png”和“jpg”,但我无法知道用户选择了这两个选项中的哪一个。换句话说,除非用户明确输入,否则我得到的值不包括文件扩展名。
这是代码:
import PySimpleGUI as sg
layout = [[
sg.InputText(visible=False, enable_events=True, key='fig_path'),
sg.FileSaveAs(
key='fig_save',
file_types=(('PNG', '.png'), ('JPG', '.jpg')), # TODO: better names
)
]]
window = sg.Window('Demo Application', layout, finalize=True)
fig_canvas_agg = None
while True: # Event Loop
event, values = window.Read()
if (event == 'fig_path') and (values['fig_path'] != ''):
print('Saving to:', values['fig_path'])
if event is None:
break
例子:
在上述情况下,该值将是“[some path]\Test\hello”,而不是以“hello.png”结尾。
有什么方法可以获取返回的路径以包含扩展名,或者单独获取扩展名值?
解决方案
添加defaultextension="*.*"
到tk.filedialog.asksaveasfilename ()
它在 pysimplegui.py 版本 4.30.0 的第 3332 行附近
推荐阅读
- reporting-services - 根据 SSRS 中另一列的值更改数字格式
- angular - 如何在第一个可观察对象上组合多个可观察对象并在方法中作为新的可观察对象返回
- python - DataFrame 按索引条件拆分。将 DataFrame 拆分为条形图
- c - 当设备驱动程序中的 IP 地址更改时收到通知
- debugging - 在 VSCode 中调试 Rust,库上没有调试符号,但在示例中调试符号
- c# - 在 C# 中解析 JSON 的层
- sql-server - 如何在 SQL Server 中对 concat 进行分组
- regex - Notepad ++ 仅搜索和替换文本 2 个特定行
- python - 使用 Django 向现有 Docker 容器添加/公开端口
- php - wordpress中的PHP CURL连接超时问题