Settings
Plugin settings with automatic widget creation for the settings dialog.
Example:
from qgis_macros.settings import Settings
# Read the current playback speed
speed = Settings.speed.get()
# Update a setting
Settings.speed.set(2.0)
# Reset all settings to defaults
Settings.reset()
- class qgis_macros.settings.WidgetType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Bases:
EnumType of Qt widget used to edit a setting in the UI.
- LINE_EDIT = 'line_edit'
- CHECKBOX = 'checkbox'
- SPIN_BOX = 'spin_box'
- class qgis_macros.settings.SettingCategory(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Bases:
EnumGrouping categories shown in the settings dialog.
- MACRO = 'Macro'
- class qgis_macros.settings.WidgetConfig(minimum=None, maximum=None, step=None)[source]
Bases:
objectConfiguration options for different widget types.
- Parameters:
minimum (int | float | None)
maximum (int | float | None)
step (int | float | None)
- minimum: int | float | None = None
- maximum: int | float | None = None
- step: int | float | None = None
- class qgis_macros.settings.Setting(description, default, category=SettingCategory.MACRO, widget_config=None, widget_type=None)[source]
Bases:
_QObjectStubDescriptor for a single plugin setting with metadata for UI generation.
- Parameters:
description (str)
default (Any)
category (SettingCategory)
widget_config (WidgetConfig | None)
widget_type (WidgetType | None)
- description: str
- default: Any
- category: SettingCategory = 'Macro'
- widget_config: WidgetConfig | None = None
- widget_type: WidgetType | None = None
- changed = <_qgis_stubs._StubSignal object>
- class qgis_macros.settings.Settings(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Bases:
EnumAll configurable plugin settings.
- speed = Setting(description='Macro playback speed', default=1.0, category=<SettingCategory.MACRO: 'Macro'>, widget_config=WidgetConfig(minimum=0.0, maximum=100.0, step=0.1), widget_type=<WidgetType.SPIN_BOX: 'spin_box'>)
- profile_macros = Setting(description='Profile macro runtime', default=False, category=<SettingCategory.MACRO: 'Macro'>, widget_config=None, widget_type=<WidgetType.CHECKBOX: 'checkbox'>)
- profile_macro_group = Setting(description='Group name for macro profiles', default='Macro', category=<SettingCategory.MACRO: 'Macro'>, widget_config=None, widget_type=<WidgetType.LINE_EDIT: 'line_edit'>)
- macro_save_path = Setting(description='Default save path for macros.', default='/tmp/macro', category=<SettingCategory.MACRO: 'Macro'>, widget_config=None, widget_type=<WidgetType.LINE_EDIT: 'line_edit'>)
- move_event_interpolation_count = Setting(description='How many points mouse move events should have. If point count is higher, points are interpolated along the line.', default=4, category=<SettingCategory.MACRO: 'Macro'>, widget_config=WidgetConfig(minimum=2, maximum=10000, step=None), widget_type=<WidgetType.SPIN_BOX: 'spin_box'>)