ui_base_full

Path: /ui_components/ui_base_full.py

Overview

The UIBaseFull component initializes a full-screen, frameless overlay on all connected displays, providing a black background layer that stays on top of other windows.

Purpose & Use Cases

Display a consistent background overlay for kiosk applications or digital signage across multiple monitors.

Provide a blackout layer for secure presentations or privacy screens that cover all active displays.

Dependencies

PyQt5 (QtWidgets, QtCore, QtGui)

utilities.util_load_font from the Raven Development Team

Configuration & Parameters

Parameter Type Description Default
None This component does not accept any constructor parameters.

Usage Example

python ui_components/ui_base_full.py

Behavior & Implementation

Upon initialization, the component loads the Chakra Petch font, then queries all available screens via QGuiApplication. For each screen, it creates a QMainWindow overlay with no window frame that stays on top and covers the screen’s geometry with a black background. The primary display’s overlay is tracked separately. Calling show() on the instance will display overlays on all screens.

Error Handling

UIBaseFull relies on util_load_font to manage font loading errors. It does not implement its own exception handling around Qt operations; any errors during overlay creation will propagate to the application level.

Security Considerations

No elevated permissions are required. The component does not process external input, so input sanitization is not applicable. Overlays remain within the user’s session and do not modify system-level settings.

Logging

This component does not emit any log messages. Qt’s internal logging may be enabled separately if needed.

Testing & Validation

Run unit tests with pytest to verify that the number of overlays matches the detected screens and that the show() method displays them without errors. For manual validation, launch the script and confirm each monitor is covered.

Author

Author: Raven Development Team