Pysimplegui 简明教程
PySimpleGUI - Settings
Global Settings
全局设置是可在整个应用程序范围内使用的应用程序设置。这些设置控制 Element 类用于应用于应用程序中所有元素的各种属性。
这些设置以分级方式起作用。如果这些设置针对窗口提供了其他值,则全局设置将被覆盖。反过来,Window 对象中定义的设置针对特定元素提供了不同的值。
例如,如果在全局范围内将字号设置为 16,则所有元素的文本都将相应显示。但是,如果布局中定义了具有 16 以外大小的字体属性的特定文本或输入元素,则它将相应更改外观。
set_options 函数用于更改在全局范围内应用的设置。如果这是应用于 Windows 的设置,则该设置不仅适用于你创建的 Windows,还适用于弹出式 Windows。
import PySimpleGUI as sg
sg.set_options(font=('Arial Bold', 16))
User Settings
“用户设置”是一个自动写入到硬盘的字典。用户设置存储在 Python 字典中,并保存到磁盘并从磁盘中加载。因此,各个设置是放入字典中的键。
用户设置函数列表 -
Sr.No. |
Function & Description |
1 |
*user_settings*以字典形式返回设置 |
2 |
*user_settings_delete_entry*Deletes a setting |
3 |
*user_settings_delete_filename*Deletes the settings file |
4 |
*user_settings_file_exists*如果存在指定的文件设置,则返回真 |
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 文件。要加载之前保存的设置,请单击“加载”按钮。