Для обработки нескольких типов файлов в PySimpleGUI вы можете использовать элемент FileBrowseи указать типы файлов с помощью параметра file_types. Вот несколько методов, которые вы можете использовать:
- Метод 1. Использование списка расширений файлов:
import PySimpleGUI as sg layout = [[sg.Text('Select files')], [sg.Input(key='-FILES-'), sg.FileBrowse(file_types=(("Text Files", "*.txt"), ("CSV Files", "*.csv")))], [sg.Button('OK')]] window = sg.Window('File Selection', layout) while True: event, values = window.read() if event == sg.WINDOW_CLOSED: break if event == 'OK': file_path = values['-FILES-'] # Process the selected file print(f'Selected file: {file_path}') window.close()
В приведенном выше примере параметр file_typesимеет значение кортежа типов файлов. Каждый тип файла указывается с помощью пары значений: описания и расширения файла.
- Метод 2. Использование подстановочного знака:
import PySimpleGUI as sg layout = [[sg.Text('Select files')], [sg.Input(key='-FILES-'), sg.FileBrowse(file_types=(("All Files", "*.*"),))], [sg.Button('OK')]] window = sg.Window('File Selection', layout) while True: event, values = window.read() if event == sg.WINDOW_CLOSED: break if event == 'OK': file_path = values['-FILES-'] # Process the selected file print(f'Selected file: {file_path}') window.close()
В приведенном выше примере параметр file_typesимеет значение кортежа с одной записью, использующей подстановочный знак *.*. Это позволяет выбрать любой тип файла.
- Метод 3. Использование нескольких элементов FileBrowse:
import PySimpleGUI as sg layout = [[sg.Text('Select files')], [sg.Input(key='-FILE1-'), sg.FileBrowse(file_types=(("Text Files", "*.txt"),))], [sg.Input(key='-FILE2-'), sg.FileBrowse(file_types=(("CSV Files", "*.csv"),))], [sg.Button('OK')]] window = sg.Window('File Selection', layout) while True: event, values = window.read() if event == sg.WINDOW_CLOSED: break if event == 'OK': file_path1 = values['-FILE1-'] file_path2 = values['-FILE2-'] # Process the selected files print(f'Selected files: {file_path1}, {file_path2}') window.close()
В этом примере используются два элемента FileBrowse, для каждого из которых указан свой тип файла.
Эти методы позволяют выбирать несколько типов файлов с помощью PySimpleGUI. Не стесняйтесь выбирать метод, который лучше всего соответствует вашим потребностям.