Initial commit of ISC QtQuick application scaffold, including main application logic in , QML components for UI in directory, project metadata in , and runtime dependencies in . Added README for setup instructions and project structure overview.

This commit is contained in:
Jack.Le
2026-04-23 11:39:46 -07:00
commit 50955c740e
10 changed files with 363 additions and 0 deletions
+73
View File
@@ -0,0 +1,73 @@
# 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:
```bash
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
```
## Run
```bash
source .venv/bin/activate
python main.py
```
This launches the Qt window and loads the `ISC` QML module from `ISC/Main.qml`.
## Project Structure
- `main.py`: PySide6 bootstrap; creates the Qt app and loads QML module `ISC/Main`.
- `ISC/Main.qml`: top-level window definition.
- `ISC/HomePage.qml`: main UI layout (left action rail, workspace panel, footer tabs).
- `ISC/Theme.qml`: shared theme constants and dark/light mode tokens.
- `ISC/qmldir`: QML module registration.
## Window Configuration
Window dimensions and constraints are defined in `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 `ISC/Main.qml`:
```qml
Window {
width: 1400
height: 820
minimumWidth: 1100
minimumHeight: 700
visible: true
title: qsTr("ISenseCloud")
}
```
## Customization
- Toggle dark/light mode in `ISC/Theme.qml` via `isDarkMode`.
- Update sidebar and footer labels in `ISC/HomePage.qml` through `sideActions` and `bottomTabs`.
## Troubleshooting
- If the app does not start, verify the venv is active and dependencies are installed:
```bash
source .venv/bin/activate
pip install -r requirements.txt
```
- If no window appears, ensure you are running in a desktop session with GUI access.