jack 97ca58bfc2 feat: Add Wafer Map tab and associated components
- Introduced a new Wafer Map tab in the HomePage.qml, which loads WaferMapTab.qml when selected.
- Created WaferMapTab.qml to display wafer map with live data and controls.
- Added ReadoutPanel.qml for displaying sensor statistics and thresholds.
- Implemented SourcePanel.qml for file selection and filtering.
- Developed TransportBar.qml for playback controls.
- Added WaferMapView.qml to visualize wafer data with interactive features.
- Created ReplaceSensorDialog.qml for sensor value overrides.
- Updated Theme.qml for new color schemes and UI adjustments.
- Modified qmldir files to include new components in the ISC.Tabs and ISC.Tabs.components modules.
2026-06-11 11:57:24 -07:00
2026-06-04 13:25:11 -07:00

ISC QtQuick App

Small PySide6 + Qt Quick application scaffold for the ISenseCloud desktop UI shell.

Requirements

  • Python 3.10+ (tested with Python 3.14 in this workspace)
  • macOS, Linux, or Windows with GUI support

Setup

From the project root:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -e .            # install the `pygui` package (src/ layout) in editable mode

Run

source .venv/bin/activate
python -m pygui             # or run the `isc` console script

This launches the Qt window and loads the ISC QML module from src/pygui/ISC/Main.qml.

Project Structure

The application lives under a src/ layout as the pygui package:

  • src/pygui/__main__.py: PySide6 bootstrap; creates the Qt app and loads QML module ISC/Main. Entry point for python -m pygui.
  • src/pygui/backend/: Qt-facing models and controllers (device, settings, file browser, wafer parsing).
  • src/pygui/serialcomm/: serial port, device service, and data-parser layer.
  • src/pygui/ISC/: the ISC QML module (UI).
    • Main.qml: top-level window definition.
    • HomePage.qml: main UI layout (left action rail, workspace panel, footer tabs).
    • Theme.qml: shared theme constants and dark/light mode tokens.
    • qmldir: QML module registration.
  • tests/: pytest suite.
  • packaging/: PyInstaller spec (isc.spec) and app icons.

Window Configuration

Window dimensions and constraints are defined in src/pygui/ISC/Main.qml:

  • Default size: 1400 × 820 pixels
  • Minimum size: 1100 × 700 pixels
  • Title bar: "ISenseCloud"

To adjust the window, edit the Window block in src/pygui/ISC/Main.qml:

Window {
    width: 1400
    height: 820
    minimumWidth: 1100
    minimumHeight: 700
    visible: true
    title: qsTr("ISenseCloud")
}

Customization

  • Toggle dark/light mode in src/pygui/ISC/Theme.qml via isDarkMode.
  • Update sidebar and footer labels in src/pygui/ISC/HomePage.qml through sideActions and bottomTabs.

Troubleshooting

  • If the app does not start, verify the venv is active and dependencies are installed:

    source .venv/bin/activate
    pip install -r requirements.txt
    
  • If no window appears, ensure you are running in a desktop session with GUI access.

S
Description
No description provided
Readme 2 MiB
Languages
Python 58.4%
QML 41.5%