如何使用PySimpleGUI将用户在文本输入框中输入的数据保存为.ini配置文件,并在程序重启时自动加载和显示这些内容?
时间: 2024-10-02 10:00:34 浏览: 32
使用PySimpleGUI (PSG) 来创建一个简单的应用,保存用户输入到 `.ini` 配置文件并实现数据持久化,你可以按照以下步骤操作:
1. 安装 PySimpleGUI 如果还没有安装,首先需要通过 pip 安装:
```bash
pip install PySimpleGUI
```
2. 导入所需的模块:
```python
import PySimpleGUI as sg
import configparser
```
3. 设计用户界面,包含一个文本输入框和一个按钮来保存数据:
```python
layout = [
[sg.Text('请输入数据:', size=(20, 1)), sg.Input(key='-INPUT-')],
[sg.Button('保存'), sg.Button('加载')]
]
window = sg.Window('配置文件示例', layout)
```
4. 创建一个 `config` 对象,用于读写 `.ini` 文件:
```python
config = configparser.ConfigParser()
config_file = 'data.ini'
```
5. 为 "保存" 按钮添加事件处理器,当点击时将输入的内容保存到 `.ini` 文件:
```python
def save_data():
data = window['-INPUT-'].get()
config['main'] = {'input': data}
with open(config_file, 'w') as f:
config.write(f)
button_events = {
'save': save_data,
'load': load_and_display_data
}
for event in window.read():
if event in button_events:
button_events[event]()
window.close()
```
6. 添加 "加载" 按钮的事件处理器,打开并显示 `.ini` 文件中的内容:
```python
def load_and_display_data():
try:
config.read(config_file)
input_value = config['main']['input']
sg.popup_ok(f'上次输入的数据:{input_value}')
except FileNotFoundError:
sg.popup_error('配置文件未找到')
# ... 在 `save_data` 函数末尾添加这一部分
```
现在,每次用户输入数据并点击 "保存",数据会被保存到 `.ini` 文件中;而 "加载" 按钮则会在程序重启时尝试从文件中读取数据并显示。
阅读全文