- PySimpleGUI 教程
- PySimpleGUI - 首页
- PySimpleGUI - 简介
- PySimpleGUI - 环境搭建
- PySimpleGUI - Hello World
- PySimpleGUI - 弹出窗口
- PySimpleGUI - 窗口类
- PySimpleGUI - 元素类
- PySimpleGUI - 事件
- PySimpleGUI - 菜单栏
- PySimpleGUI - Matplotlib 集成
- PySimpleGUI - 使用 PIL
- PySimpleGUI - 调试器
- PySimpleGUI - 设置
- PySimpleGUI 有用资源
- PySimpleGUI - 快速指南
- PySimpleGUI - 有用资源
- PySimpleGUI - 讨论
PySimpleGUI - 设置
全局设置
全局设置是应用范围内可用的应用程序设置。这些设置控制元素类的各种属性,应用于应用程序中的所有元素。
这些设置以分层方式工作。如果为窗口指定了不同的值,则全局设置将被覆盖。反过来,如果为特定元素指定了不同的值,则窗口对象中定义的设置也会被覆盖。
例如,如果全局将字体大小设置为 16,则所有元素的文本将相应显示。但是,如果在布局中定义了具有大小不为 16 的字体属性的特定文本或输入元素,则其外观将相应更改。
函数 `set_options` 用于更改将全局应用的设置。如果是应用于窗口的设置,则该设置不仅应用于您创建的窗口,也应用于弹出窗口。
import PySimpleGUI as sg
sg.set_options(font=('Arial Bold', 16))
用户设置
“用户设置”是一个自动写入硬盘的字典。用户设置存储在 Python 字典中,该字典从磁盘保存和加载。因此,各个设置是字典中的键。
用户设置函数列表:
| 序号 | 函数及描述 |
|---|---|
| 1 | user_settings 以字典形式返回设置 |
| 2 | user_settings_delete_entry 删除设置 |
| 3 | user_settings_delete_filename 删除设置文件 |
| 4 | user_settings_file_exists 如果指定设置文件存在,则返回 True |
| 5 | user_settings_filename 返回设置文件的完整路径和文件名 |
| 6 | user_settings_get_entry 返回设置的值。如果找不到设置,则返回指定的默认值 |
| 7 | user_settings_load 从设置文件加载字典。 |
| 8 | user_settings_save 将设置保存到当前或新指定的文件。 |
| 9 | user_settings_set_entry 将条目设置为特定值 |
| 10 | user_settings_write_new_dictionary 将指定的字典写入设置文件 |
创建用户设置对象。
settings = sg.UserSettings()
使用字典样式的 `[]` 语法读取设置。如果条目的名称是 `'-item-'`,则读取值是通过写入实现的
item_value = settings['-item-']
以下语句用于写入设置。
settings['-item-'] = new_value
要删除项目,再次使用字典样式的语法。
del settings['-item-']
您还可以调用 `delete_entry` 方法来删除条目。
settings.delete_entry('-item-')
以下简单的程序演示了用户设置的加载/保存
import PySimpleGUI as sg
import json
sg.set_options(font=('Arial Bold', 16))
layout = [
[sg.Text('Settings', justification='left')],
[sg.Text('User name', size=(10, 1), expand_x=True),
sg.Input(key='-USER-')],
[sg.Text('email ID', size=(10, 1), expand_x=True),
sg.Input(key='-ID-')],
[sg.Text('Role', size=(10, 1), expand_x=True),
sg.Input(key='-ROLE-')],
[sg.Button("LOAD"), sg.Button('SAVE'), sg.Button('Exit')]
]
window = sg.Window('User Settings Demo', layout, size=(715, 200))
# Event Loop
while True:
event, values = window.read()
if event in (sg.WIN_CLOSED, 'Exit'):
break
if event == 'LOAD':
f = open("settings.txt", 'r')
settings = json.load(f)
window['-USER-'].update(value=settings['-USER-'])
window['-ID-'].update(value=settings['-ID-'])
window['-ROLE-'].update(value=settings['-ROLE-'])
if event == 'SAVE':
settings = {'-USER-': values['-USER-'],
'-ID-': values['-ID-'],
'-ROLE-': values['-ROLE-']}
f = open("settings.txt", 'w')
json.dump(settings, f)
f.close()
window.close()
在输入框中输入数据,然后单击“保存”按钮。
将保存一个 JSON 文件。要加载先前保存的设置,请单击“加载”按钮。
广告