Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PySimpleGUI“从文件存储获取选定扩展名”对话框_Python_Tkinter_Pysimplegui - Fatal编程技术网

Python PySimpleGUI“从文件存储获取选定扩展名”对话框

Python PySimpleGUI“从文件存储获取选定扩展名”对话框,python,tkinter,pysimplegui,Python,Tkinter,Pysimplegui,我在PySimpleGUI应用程序中创建了一个按钮,并将可用的文件类型定义为“png”和“jpg”,但我无法知道用户选择了这两个选项中的哪一个。换句话说,除非用户明确输入,否则我得到的值不包括文件扩展名 代码如下: import PySimpleGUI as sg layout = [[ sg.InputText(visible=False, enable_events=True, key='fig_path'), sg.FileSaveAs( key='fig

我在PySimpleGUI应用程序中创建了一个按钮,并将可用的
文件类型定义为“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行附近,添加
defaultextension=“*.*”
tk.filedialog.asksaveasfilename()


它在pysimplegui.py的4.30.0版本中的3332行附近

在GitHub的4.30.0.16版本中进行了相关修复。在GitHub的4.30.0.16版本中进行了修复。