📜  PySimpleGUI 多文件选择 (1)

📅  最后修改于: 2023-12-03 15:33:55.682000             🧑  作者: Mango

PySimpleGUI 多文件选择

如果您需要在GUI中选择多个文件,那么PySimpleGUI可以为您提供极大的帮助。PySimpleGUI是一个跨平台的Python GUI库,易于学习和使用。这篇文章将向您展示如何使用PySimpleGUI实现多文件选择。

安装PySimpleGUI库

要使用PySimpleGUI,您需要先安装它。您可以使用pip命令来安装它。

pip install PySimpleGUI
使用PySimpleGUI选择多个文件

下面是一个使用PySimpleGUI选择多个文件的示例程序。它打开一个文件对话框,允许用户选择多个文件,并在控制台中打印所选择的文件列表。

import PySimpleGUI as sg

layout = [[sg.Text('选择多个文件')],
          [sg.Input(key='_FILES_'), sg.FilesBrowse()],
          [sg.Button('确定')]]

window = sg.Window('多文件选择示例', layout)

while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED:
        break
    elif event == '确定':
        files = values['_FILES_'].split(';')
        print(files)

window.close()

在这个示例程序中,我们使用了PySimpleGUI中的InputFilesBrowse控件。Input控件用于显示所选择的文件名,FilesBrowse控件用于弹出文件对话框。用户选择的文件名以分号分隔,我们使用split函数将其转换为列表。

添加文件类型筛选

如果您只需要选择特定类型的文件,您可以使用FilesBrowse控件的file_types参数来添加文件类型筛选。下面是一个示例程序,它只允许选择.txt文件。

import PySimpleGUI as sg

layout = [[sg.Text('只允许选择.txt文件')],
          [sg.Input(key='_FILES_'), sg.FilesBrowse(file_types=(('Text Files', '*.txt'),))],
          [sg.Button('确定')]]

window = sg.Window('文件选择示例', layout)

while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED:
        break
    elif event == '确定':
        files = values['_FILES_'].split(';')
        print(files)

window.close()

在这个示例程序中,我们在FilesBrowse控件的file_types参数中添加了一个名为"Text Files"的文件类型过滤器,该过滤器只允许选择扩展名为".txt"的文件。

总结

使用PySimpleGUI的多文件选择功能,可以轻松地选择多个文件,并可以按文件类型进行筛选。它使得交互式Python应用程序开发变得更加容易。希望这篇文章对您有所帮助。