Objective
Evaluate and plan the migration from tkinter to PySide6 (Qt for Python) to enhance UI flexibility, scalability, and visual consistency across platforms.
Reasons for Migration
- Modern and professional UI components with native look and feel.
- Better support for complex widgets (e.g., collapsible trees, tabs, docking panels).
- Improved layout management and styling via Qt Designer or QSS.
- Asynchronous operations and threading better integrated with the event loop.
Migration Plan (Phased)
Phase 1 – Feasibility & Setup
Phase 2 – Core UI Porting
Phase 3 – Feature Parity
Phase 4 – Testing and Optimization
Phase 5 – Optional Enhancements
Considerations
- PySide6 increases app size and complexity but unlocks professional UI capabilities.
- Cross-platform packaging (e.g. using PyInstaller) must be re-evaluated for Qt dependencies.
- GUI testing becomes easier with tools like
pytest-qt.
Objective
Evaluate and plan the migration from
tkintertoPySide6(Qt for Python) to enhance UI flexibility, scalability, and visual consistency across platforms.Reasons for Migration
Migration Plan (Phased)
Phase 1 – Feasibility & Setup
tkinter(dialogs, previews, widgets).Phase 2 – Core UI Porting
QTreeView+QFileSystemModeland custom checkboxes.Phase 3 – Feature Parity
Phase 4 – Testing and Optimization
Phase 5 – Optional Enhancements
Considerations
pytest-qt.