Architecture Overview

This project is designed for PyQtQuick applications with multi-threaded QML UI integration.

Components

  • main.py: Entry point, initializes the application and threads.

  • Template_Material/

    • bico_qmutexqueue.py: Provides a thread-safe queue for inter-thread communication.

    • bico_quithread.py: Defines the main thread class with QML UI integration.

    • bico_qthread.py: Base class for threads with message queue support.

    • bico_qmessdata.py: Defines the message data structure for thread communication.

  • Client_Code/

    • Bico_QUIThread_Sample/

      • Bico_QUIThread_Sample.py: Example implementation of a QUIThread for demonstration.

      • Data_Object/

        • Bico_QUIThread_Sample_Data.py: Example data object used in the sample thread.

  • resource/: Handles resource integration for QML files (e.g., icons, QML resources).

  • docs/: Sphinx documentation sources, including architecture and module references.

  • QML files: User interface definitions for the application, loaded by threads.

  • requirements.txt: Lists Python dependencies for the project.

  • README.md: Project overview and setup instructions.

Thread Communication

Threads communicate using bico_qmutexqueue.Bico_QMutexQueue and bico_qmessdata.Bico_QMessData.