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: object

Configuration for a single form field.

Parameters:
  • name (str)

  • type (str)

  • label (str)

  • default_value (Any)

  • required (bool)

  • min_value (float | None)

  • max_value (float | None)

  • options (List[str] | None)

  • choices (List[str] | None)

  • placeholder (str | None)

  • tooltip (str | None)

  • width (int | None)

  • height (int | None)

  • format_string (str | None)

name: str
type: str
label: str
default_value: Any = None
required: bool = False
min_value: float | None = None
max_value: float | None = None
options: List[str] | None = None
choices: List[str] | None = None
placeholder: str | None = None
tooltip: str | None = None
width: int | None = None
height: int | None = None
format_string: str | None = None
class qtpyguihelper.config_loader.WindowConfig(title='GUI Application', width=800, height=600, resizable=True, icon=None)[source]

Bases: object

Configuration for the main window.

Parameters:
title: str = 'GUI Application'
width: int = 800
height: int = 600
resizable: bool = True
icon: str | None = None
class qtpyguihelper.config_loader.TabConfig(name, title, fields, layout='vertical', enabled=True, tooltip=None)[source]

Bases: object

Configuration for a single tab.

Parameters:
name: str
title: str
fields: List[FieldConfig]
layout: str = 'vertical'
enabled: bool = True
tooltip: str | None = None
class qtpyguihelper.config_loader.CustomButtonConfig(name, label, tooltip=None, enabled=True, icon=None, style=None)[source]

Bases: object

Configuration for a custom button.

Parameters:
  • name (str)

  • label (str)

  • tooltip (str | None)

  • enabled (bool)

  • icon (str | None)

  • style (str | None)

name: str
label: str
tooltip: str | None = None
enabled: bool = True
icon: str | None = None
style: str | None = None
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: object

Complete GUI configuration.

Parameters:
window: WindowConfig
fields: List[FieldConfig]
tabs: List[TabConfig] | None = None
layout: str = 'vertical'
submit_button: bool = True
submit_label: str = 'Submit'
cancel_button: bool = True
cancel_label: str = 'Cancel'
use_tabs: bool = False
custom_buttons: List[CustomButtonConfig] | None = None
class qtpyguihelper.config_loader.ConfigLoader[source]

Bases: object

Loads 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'}
load_from_file(config_path)[source]

Load configuration from a JSON file.

Parameters:

config_path (str)

Return type:

GuiConfig

load_from_dict(config_data)[source]

Load configuration from a dictionary.

Parameters:

config_data (Dict[str, Any])

Return type:

GuiConfig

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: object

Validates 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_config(config)[source]

Validate a complete GUI configuration.

Parameters:

config (GuiConfig) – The GUI configuration to validate

Returns:

List of validation error messages (empty if valid)

Return type:

List[str]

classmethod validate_field_names_unique(config)[source]

Validate that all field names are unique across the configuration.

Parameters:

config (GuiConfig) – The GUI configuration to validate

Returns:

List of validation error messages for duplicate field names

Return type:

List[str]

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