PySimpleGUI 选择多个文件
时间: 2023-10-04 12:13:54 浏览: 41
您可以使用PySimpleGUI来选择多个文件。下面是一个简单的示例代码:
```python
import PySimpleGUI as sg
layout = [
[sg.Text('选择文件')],
[sg.Input(key='-FILES-', enable_events=True), sg.FilesBrowse()],
[sg.Button('确定')]
]
window = sg.Window('选择多个文件', layout)
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED:
break
if event == '确定':
selected_files = values['-FILES-'].split(';')
print('选择的文件:', selected_files)
window.close()
```
这个示例创建了一个窗口,包含一个文件路径输入框和一个浏览按钮。当用户点击浏览按钮时,他们可以选择一个或多个文件。选择的文件路径将显示在输入框中,点击确定按钮后,程序将打印所选文件的路径。
注意:在Windows操作系统上,多个文件的路径将使用分号(;)进行分隔。在其他操作系统上,可能会使用不同的分隔符,请根据您的操作系统进行适当的处理。
相关问题
使用PySImpleGUI搭建一个简易计算机API
好的,我可以为您介绍使用 PySimpleGUI 搭建一个简易计算机 API 的方法。
首先,您需要安装 PySimpleGUI。可以使用以下命令在命令行中安装:
```
pip install PySimpleGUI
```
然后,您需要创建一个 Python 文件,例如 `calculator.py`。
接下来,您可以使用以下代码作为您的起点:
```python
import PySimpleGUI as sg
# 定义布局
layout = [[sg.InputText(size=(25,1), key='input')],
[sg.Button('1'), sg.Button('2'), sg.Button('3'), sg.Button('+')],
[sg.Button('4'), sg.Button('5'), sg.Button('6'), sg.Button('-')],
[sg.Button('7'), sg.Button('8'), sg.Button('9'), sg.Button('*')],
[sg.Button('C'), sg.Button('0'), sg.Button('='), sg.Button('/')],
[sg.Text('', size=(20,1), key='output')]]
# 创建窗口
window = sg.Window('计算器', layout)
# 计算函数
def calculate(num1, num2, operator):
if operator == '+':
return num1 + num2
elif operator == '-':
return num1 - num2
elif operator == '*':
return num1 * num2
elif operator == '/':
return num1 / num2
else:
return None
# 主循环
num1 = ''
num2 = ''
operator = ''
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED:
break
elif event == 'C':
num1 = ''
num2 = ''
operator = ''
window['input'].update('')
window['output'].update('')
elif event in ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']:
if operator == '':
num1 += event
else:
num2 += event
window['input'].update(num1 + operator + num2)
elif event in ['+', '-', '*', '/']:
operator = event
window['input'].update(num1 + operator + num2)
elif event == '=':
if num1 != '' and num2 != '' and operator != '':
result = calculate(float(num1), float(num2), operator)
window['output'].update(str(result))
else:
window['output'].update('Error')
# 关闭窗口
window.close()
```
这个程序将会创建一个窗口,其中包含一些按钮和输入框。您可以使用这些按钮来输入数字和运算符,并计算结果。当您点击“=”按钮时,程序将会计算结果,并在输出框中显示结果。
请注意,这只是一个简单的示例程序,它只支持四种基本运算。您可以根据自己的需要进行调整和修改,并添加更多的功能。
希望这个例子对您有所帮助!
用python pysimplegui 写一个文本备份程序
非常容易!以下是一个基本的 Python+PySimpleGUI 文本备份程序示例:
```
import PySimpleGUI as sg
# GUI布局设计
layout = [
[sg.Text('请选择需要备份的文本文件:')],
[sg.Text('文件路径:'), sg.Input(key='_FILEPATH_'), sg.FileBrowse()],
[sg.Button('确定备份', key='_BACKUP_'), sg.Button('退出', key='_EXIT_')]
]
# GUI构建窗口并运行
window = sg.Window('文本备份程序', layout)
while True:
event, values = window.read()
if event in [sg.WIN_CLOSED, '_EXIT_']:
break
elif event == '_BACKUP_':
filepath = values['_FILEPATH_']
if filepath:
with open(filepath, 'r') as f:
content = f.read()
with open(f'{filepath}.bak', 'w') as f:
f.write(content)
sg.popup(f'备份成功,备份文件路径:{filepath}.bak')
else:
sg.popup_error('请选择需要备份的文件!')
window.close()
```
在 PySimpleGUI 中,通过构建 `layout` 变量来布局 GUI 窗口,然后通过 `sg.Window` 创建窗口并进入循环,不断读取 GUI 事件并执行相应操作。上述示例代码中,我们先设置了一个选择文件的文本框和一个“确定备份”按钮,点击后程序会读取文本文件的内容,并将其存储到同名 `.bak` 文件中。如果没有选择文件,会弹窗提示错误;如果备份成功,会弹窗提示备份文件的路径。
有关更多 PySimpleGUI 相关的内容和使用方法,可以参见 PySimpleGUI 的[官方文档](https://pysimplegui.readthedocs.io/en/latest/index.html)和[GitHub 页面](https://github.com/PySimpleGUI/PySimpleGUI)。