【问题标题】:PySimpleGUI get selected extension from FileSaveAs dialog boxPySimpleGUI 从 FileSaveAs 对话框中获取选定的扩展名
【发布时间】:2019-10-31 12:46:39
【问题描述】:

我在我的 PySimpleGUI 应用程序中创建了一个FileSaveAs 按钮,并将可用的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

例子:

在上述情况下,该值将是“[some path]\Test\hello”,而不是以“hello.png”结尾。

有什么方法可以让返回的路径包含扩展,或者单独获取扩展值?

【问题讨论】:

标签: python tkinter pysimplegui


【解决方案1】:

defaultextension="*.*" 添加到tk.filedialog.asksaveasfilename ()

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

【讨论】:

  • 已在 GitHub 上的 4.30.0.16 版本中修复。
猜你喜欢
  • 1970-01-01
  • 2012-02-01
  • 2011-09-02
  • 1970-01-01
  • 1970-01-01
  • 2020-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多