Configuration
Configuration classes for defining GUI structure and behavior.
Configuration Loader
Configuration loader for reading and validating JSON GUI configuration files.
- class qtpyguihelper.config_loader.FieldConfig(name, type, label, default_value=None, required=False, min_value=None, max_value=None, options=None, choices=None, placeholder=None, tooltip=None, width=None, height=None, format_string=None)[source]
Bases:
objectConfiguration for a single form field.
- Parameters:
- class qtpyguihelper.config_loader.WindowConfig(title='GUI Application', width=800, height=600, resizable=True, icon=None)[source]
Bases:
objectConfiguration for the main window.
- class qtpyguihelper.config_loader.TabConfig(name, title, fields, layout='vertical', enabled=True, tooltip=None)[source]
Bases:
objectConfiguration for a single tab.
- Parameters:
- fields: List[FieldConfig]
- class qtpyguihelper.config_loader.CustomButtonConfig(name, label, tooltip=None, enabled=True, icon=None, style=None)[source]
Bases:
objectConfiguration for a custom button.
- Parameters:
- class qtpyguihelper.config_loader.GuiConfig(window, fields, tabs=None, layout='vertical', submit_button=True, submit_label='Submit', cancel_button=True, cancel_label='Cancel', use_tabs=False, custom_buttons=None)[source]
Bases:
objectComplete GUI configuration.
- Parameters:
window (WindowConfig)
fields (List[FieldConfig])
layout (str)
submit_button (bool)
submit_label (str)
cancel_button (bool)
cancel_label (str)
use_tabs (bool)
custom_buttons (List[CustomButtonConfig] | None)
- window: WindowConfig
- fields: List[FieldConfig]
- custom_buttons: List[CustomButtonConfig] | None = None
- class qtpyguihelper.config_loader.ConfigLoader[source]
Bases:
objectLoads and validates GUI configuration from JSON files.
- SUPPORTED_FIELD_TYPES = {'check', 'checkbox', 'color', 'combo', 'date', 'datetime', 'email', 'file', 'float', 'int', 'number', 'password', 'radio', 'range', 'select', 'spin', 'text', 'textarea', 'time', 'url'}
- SUPPORTED_LAYOUTS = {'form', 'grid', 'horizontal', 'vertical'}
- get_field_by_name(name)[source]
Get a field configuration by name.
- Parameters:
name (str)
- Return type:
FieldConfig | None
Configuration Validator
Configuration validation utilities for QtPyGuiHelper.
- class qtpyguihelper.config_validator.ConfigValidator[source]
Bases:
objectValidates GUI configuration for correctness and completeness.
- SUPPORTED_FIELD_TYPES = {'checkbox', 'color', 'combo', 'email', 'file', 'float', 'number', 'password', 'radio', 'select', 'slider', 'text', 'textarea'}
- REQUIRED_FIELD_ATTRIBUTES = {'label', 'name', 'type'}
- classmethod validate_field_names_unique(config)[source]
Validate that all field names are unique across the configuration.
- classmethod validate_and_raise(config)[source]
Validate configuration and raise ConfigurationError if invalid.
- Parameters:
config (GuiConfig) – The GUI configuration to validate
- Raises:
ConfigurationError – If the configuration is invalid
- Return type:
None