74 lines
1.7 KiB
Markdown
74 lines
1.7 KiB
Markdown
# 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.
|