- PySimpleGUI - Discussion
- PySimpleGUI - Useful Resources
- PySimpleGUI - Quick Guide
- PySimpleGUI - Settings
- PySimpleGUI - Debugger
- PySimpleGUI - Working with PIL
- PySimpleGUI - Matplotlib Integration
- PySimpleGUI - Menubar
- PySimpleGUI - Events
- PySimpleGUI - Element Class
- PySimpleGUI - Window Class
- PySimpleGUI - Popup Windows
- PySimpleGUI - Hello World
- PySimpleGUI - Environment Setup
- PySimpleGUI - Introduction
- PySimpleGUI - Home
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
PySimpleGUI - Settings
Global Settings
Global settings are the apppcation settings available apppcation wide. These settings control the various properties of the Element class to be appped to all the Elements in the apppcation.
These settings work in hierarchical manner. The global settings are overridden if those settings are given different value for a window. In turn the settings defined in Window object are given different value for a specific element.
For example, if the font size is set to 16 globally, the text of all elements is displayed accordingly. However, if a specific Text or Input element with Font property with size other than 16 is defined in the layout, it will change the appearance accordingly.
The function set_options is used to change settings that will apply globally. If it s a setting that apppes to Windows, then that setting will apply not only to Windows that you create, but also to popup Windows.
import PySimpleGUI as sg sg.set_options(font=( Arial Bold , 16))
User Settings
"User settings" is a dictionary that is automatically written to your hard drive. User settings are stored in a Python dictionary which is saved to and loaded from the disk. Inspanidual settings are thus keys into a dictionary.
List of user setting functions −
Sr.No. | Function & Description |
---|---|
1 | user_settings Returns settings as a dictionary |
2 | user_settings_delete_entry Deletes a setting |
3 | user_settings_delete_filename Deletes the settings file |
4 | user_settings_file_exists Returns True if settings file specified exists |
5 | user_settings_filename Returns full path and filename of settings file |
6 | user_settings_get_entry Returns value for a setting. If no setting found, then specified default value is returned |
7 | user_settings_load Loads dictionary from the settings file. |
8 | user_settings_save Saves settings to current or newly specified file. |
9 | user_settings_set_entry Sets an entry to a particular value |
10 | user_settings_write_new_dictionary Writes a specified dictionary to settings file |
Create the User Settings object.
settings = sg.UserSettings()
Use the dictionary-style [ ] syntax to read a setting. If the item s name is - item- , then reading the value is achieved by writing
item_value = settings[ -item- ]
Following sttement is used to Write the setting.
settings[ -item- ] = new_value
To delete an item, again the dictionary style syntax is used.
del settings[ -item- ]
You can also call the delete_entry method to delete the entry.
settings.delete_entry( -item- )
The following simple program demonstrates load/saving of user settings
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()
Enter the data in the input boxes and cpck the "Save" button.
A JSON file will be saved. To load the previously saved settings, cpck the "Load" button.
Advertisements