PySimpleGUI получает выбранное расширение из диалогового окна FileSaveAs

Я создал кнопку FileSaveAs в своем приложении PySimpleGUI и определил доступные file_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

Пример:

введите описание изображения здесь

В приведенном выше случае значение будет «[некоторый путь] \ Test \ hello» вместо того, чтобы заканчиваться на «hello.png».

Любой способ либо получить возвращаемый путь для включения расширения, либо получить значение расширения отдельно?


person Shovalt    schedule 31.10.2019    source источник
comment


Ответы (1)


Добавить defaultextension="*.*" в tk.filedialog.asksaveasfilename ()

Это около строки 3332 в версии 4.30.0 файла pysimplegui.py

person krazatchu    schedule 06.11.2020
comment
Исправлено в версии 4.30.0.16 на GitHub. - person Mike from PSG; 06.11.2020