pysimplegui 的filebrowse元素,如何在用户更改路径后,下次打开仍然是这个路径
时间: 2024-03-24 18:40:00 浏览: 48
JS获取input file绝对路径的方法(推荐)
可以使用 PySimpleGUI 自带的 `UserSettings` 模块来实现在用户更改路径后,下次打开仍然是这个路径的功能。
首先,在程序中导入 `UserSettings` 模块:
```python
import PySimpleGUI as sg
from PySimpleGUI import UserSettings
```
然后,在创建 GUI 窗口时,通过 `UserSettings` 模块的 `GetValue` 方法来获取用户上一次选择的路径:
```python
user_settings = UserSettings()
default_path = user_settings.GetValue('filebrowse')
if not default_path:
default_path = sg.USER_SETTINGS_FOLDER
layout = [
[sg.Text('Select a file:'), sg.FileBrowse(default_path=default_path, key='filebrowse')],
[sg.Button('Submit')]
]
window = sg.Window('Window Title', layout)
```
在用户选择路径后,可以通过 `UserSettings` 模块的 `SetValue` 方法来保存用户选择的路径:
```python
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED:
break
elif event == 'Submit':
file_path = values['filebrowse']
user_settings.SetValue('filebrowse', file_path)
# do something with the selected file path
```
这样,下次程序启动时,就可以通过 `UserSettings` 模块的 `GetValue` 方法获取用户上一次选择的路径,并将其作为 `FileBrowse` 元素的默认路径。
阅读全文