PySimpleGUI 设置
全局设置
全局设置是应用程序范围内可用的设置。这些设置控制元素类的各种属性,以应用于应用程序中的所有元素。
这些设置以分层的方式工作。如果这些设置在一个窗口中被赋予不同的值,那么全局设置将被覆盖。反过来,在Window对象中定义的设置对于一个特定的元素也会被赋予不同的值。
例如,如果字体大小被全局设置为16,所有元素的文本都会相应显示。然而,如果在布局中定义了一个特定的文本或输入元素,其字体属性的大小不是16,它将相应地改变外观。
函数 set_options 是用来改变将适用于全局的设置。如果它是一个适用于Windows的设置,那么这个设置不仅适用于你创建的Windows,也适用于弹出式Windows。
import PySimpleGUI as sg
sg.set_options(font=('Arial Bold', 16))
用户设置
“用户设置 “是一个自动写入硬盘的字典。用户设置被存储在一个Python字典中,它被保存到磁盘中并从磁盘中加载。因此,个别设置是键入字典的。
用户设置功能的清单 –
序号:Sr.No. | 功能和描述 |
---|---|
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文件将被保存。要加载以前保存的设置,点击 “加载 “按钮。