如何在sg.InputText的默认文本中保留sg.filebrowser中最后选择的文件?

2024-09-28 19:07:10 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,PySimpleGUI非常棒

如何在sg.filebrowser中保存最后选择的文件,以便下次运行脚本时,该文件将是sg.InputText中默认_文本中的默认值

今天我要说的是:

import PySimpleGUI as sg

layout = [  
            [sg.Text('Selecione o Arquivo Executável na Pasta de Instalação               '), sg.InputText(default_text='' key='EXE_SPED'), sg.FileBrowse(button_text='Selecione')],
            [sg.Text('Selecione a Pasta Com os Arquivos .REC e .TXT                                '), sg.InputText(key='PASTA_ARQUI'), sg.FolderBrowse(button_text='Selecione')],
            [                                   sg.Button('OK'), sg.Button('CANCELAR')]]

Window = sg.Window('Print Folder  --  Versão 1.0', layout=layout)

while True:
    event, values = Window.read()

    if event in (None, 'CANCELAR'): # if user closes window or clicks cancel
        break
    if event == 'OK':
       print(Pvalues['EXE_SPED'])

假设我选择了文件C:\Users\Felipe\Downloads\Output.txt,单击ok,程序被执行,然后关闭窗口。所以我再次打开程序,它会是这样的:

import PySimpleGUI as sg

layout = [  
            [sg.Text('Selecione o Arquivo Executável na Pasta de Instalação               '), sg.InputText(default_text='C: \ Users \ Felipe \ Downloads \ Output.txt' key='EXE_SPED'), sg.FileBrowse(button_text='Selecione')],
            [sg.Text('Selecione a Pasta Com os Arquivos .REC e .TXT                                '), sg.InputText(key='PASTA_ARQUI'), sg.FolderBrowse(button_text='Selecione')],
            [                                   sg.Button('OK'), sg.Button('CANCELAR')]]

Window = sg.Window('Print Folder  --  Versão 1.0', layout=layout)

while True:
    event, values = Window.read()

    if event in (None, 'CANCELAR'): # if user closes window or clicks cancel
        break
    if event == 'OK':
       print(values['EXE_SPED'])

有没有一种方法可以做到这一点,而不必将值保存在另一个文件中(例如txt)


Tags: 文件keytexteventifbuttonsgwindow