- 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 檔案。要載入先前儲存的設定,請單擊“載入”按鈕。
廣告