Skip to content

GUI Objects

gui_objects

Additional GUI objects used by Spectral Film LUT.

Classes:

  • AboutDialog –
  • AnimatedButton –

    A button with animated hover and press.

  • AnimatedToolButton –

    A tool button with animated hover and press.

  • BaseSliderWidget –

    Abstract base container to unify scroll, wheel tracking, and styling metrics.

  • CoreGradientSlider –

    Internal core slider handling Oklab gradients, hover micro-interactions,

  • FileSelector –

    A widget with a src line edit and a button to open a system file selector.

  • HoverLineEdit –

    A line edit with animated hover.

  • RoundedScrollArea –

    A QScrollArea with rounded corners.

  • Slider –

    A slider with float value support using parameterized layouts.

  • SliderLog –

    A slider with float value support and a logarithmic value distribution.

  • WideComboBox –

    A combo box with animated hover and expanded and styled frame.

  • Worker –

    Worker thread.

  • WorkerSignals –

    Signals from a running worker thread.

Functions:

AboutDialog

AboutDialog(
    parent=None,
    app_name="Application",
    version="1.0.0",
    author="Author",
    year="2026",
    license_type="MIT License",
    links=None,
)

Bases: QMessageBox

A highly customizable and styled About Dialog for PyQt6 applications.

:param links: Dict of {'Link Text': 'URL'}

AnimatedButton

AnimatedButton(text=None, base_color=None, *args, **kwargs)

Bases: QPushButton

A button with animated hover and press.

AnimatedToolButton

AnimatedToolButton(base_color=None, *args, **kwargs)

Bases: QToolButton

A tool button with animated hover and press.

BaseSliderWidget

BaseSliderWidget(continuous=True, *args, **kwargs)

Bases: QWidget

Abstract base container to unify scroll, wheel tracking, and styling metrics.

CoreGradientSlider

CoreGradientSlider(
    *args,
    reference_value=0,
    modern_design=True,
    continuous=True,
    base_color=BASE_COLOR,
    handle_color=TEXT_PRIMARY,
    **kwargs,
)

Bases: QSlider

Internal core slider handling Oklab gradients, hover micro-interactions, and dual-mode handle visual smoothing with scalable parameters.

FileSelector

FileSelector(*args, **kwargs)

Bases: QWidget

A widget with a src line edit and a button to open a system file selector.

HoverLineEdit

HoverLineEdit(*args, **kwargs)

Bases: QLineEdit

A line edit with animated hover.

RoundedScrollArea

RoundedScrollArea(radius=None, *args, **kwargs)

Bases: QScrollArea

A QScrollArea with rounded corners.

Slider

Slider(continuous=True, *args, **kwargs)

Bases: BaseSliderWidget

A slider with float value support using parameterized layouts.

SliderLog

SliderLog(continuous=True, *args, **kwargs)

Bases: BaseSliderWidget

A slider with float value support and a logarithmic value distribution.

WideComboBox

WideComboBox(parent=None, base_color=None)

Bases: QComboBox

A combo box with animated hover and expanded and styled frame.

Worker

Worker(fn, *args, **kwargs)

Bases: QRunnable

Worker thread.

Inherits from QRunnable to handler worker thread setup, signals and wrap-up.

:param callback: The function callback to run on this worker thread. Supplied args and kwargs will be passed through to the runner. :type callback: function :param args: Arguments to pass to the callback function :param kwargs: Keywords to pass to the callback function

WorkerSignals

Bases: QObject

Signals from a running worker thread.

finished No data

error tuple (exctype, value, traceback.format_exc())

result object data returned from processing, anything

progress float indicating % progress

qcolor_to_rgba_string

qcolor_to_rgba_string(c: QColor) -> str

Return a CSS rgba(...) string where alpha is 0..1 (Qt accepts that).