uv sync # Install dependencies
uv run pyqc --help # Show CLI help
uv run pyqc <files> # Run the app- Entry point:
PyQC.py:main()→ CLI args →MainWindow - GUI:
window1.py(auto-generated fromwindow1.uiviapyuic5) - Image display:
image_widget.py→SaneDefaultsImageLabel(custom scaling)
window1.ui promotes the image label to SaneDefaultsImageLabel and
puts it directly inside the QScrollArea, so pyuic5 produces
working code without any manual post-edits:
pyuic5 window1.ui -o window1.py
# or, without pyuic5 on $PATH:
uv run python -m PyQt5.uic.pyuic window1.ui -o window1.pyIf you ever need to re-add a wrapper widget or replace the promoted
label, edit window1.ui in Qt Designer rather than patching the
generated window1.py by hand.
| File | Purpose |
|---|---|
PyQC.py |
CLI entry point, MainWindow class |
window1.py |
Auto-generated UI code |
window1.ui |
Qt Designer UI definition |
image_widget.py |
Custom image/movie widget with scaling |
- Python 3.14
- PyQt5 >= 5.15.0
Right-click on any rating column header to add/remove/rename columns:
- Add Column - Appends a new rating column at the end
- Rename Column - Renames the selected column (data preserved)
- Remove Column - Deletes the column and all its data (with confirmation)
The "File" column (first column) is locked and cannot be modified.