You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: annotation_tool/README.md
+10-9Lines changed: 10 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,40 +2,44 @@
2
2
3
3
This project is a professional video annotation desktop application built with **PyQt6**. It features a dual-mode architecture supporting both **Whole-Video Classification** and **Action Spotting (Localization)** tasks.
4
4
5
-
The project follows a modular **MVC (Model-View-Controller)** design pattern to ensure separation of concerns between data handling, business logic, and user interface. Recent updates have unified the UI architecture using a composite design pattern.
5
+
The project follows a modular **MVC (Model-View-Controller)** design pattern to ensure separation of concerns between data handling, business logic, and user interface. Recent updates have unified the UI architecture using a composite design pattern and migrated the resource management to a robust **Qt Model/View** architecture.
6
6
7
7
## 📂 Project Structure Overview
8
8
9
9
```text
10
10
annotation_tool/
11
11
├── main.py # Application entry point
12
12
├── viewer.py # Main Window controller (orchestrates UI & Logic)
13
-
├── models.py # Data models, application state, and JSON validation
14
13
├── utils.py # Helper functions and constants
15
14
├── __init__.py # Package initialization
16
15
│
16
+
├── models/ # [Model Layer] Data Structures & State
17
+
│ ├── __init__.py
18
+
│ ├── app_state.py # Global Application State & Undo/Redo Stack
19
+
│ └── project_tree.py # Shared QStandardItemModel for File Tree (MV Pattern)
20
+
│
17
21
├── style/ # Visual theme assets
18
22
│ └── style.qss # Dark mode stylesheet (default)
19
23
│
20
-
├── controllers/ # [Logic Layer] Business logic
24
+
├── controllers/ # [Controller Layer] Business logic
0 commit comments