(Copied from a brief DM conversation.) This may sound like a strange idea, but I'm going to ask anyway...
2025-08-18 23032, 2025
rdswift[m]
In many of the Picard modules, we have an include for `PyQt5` (or `PyQt6` for Picard 3). Would we consider having a separate module (such as `picard/qt.py`) where we import the appropriate version of PyQt and then import `QtCore`, `QtWidgets` and `QtGui` from this new module? That way, when the time comes to switch to another version of Qt, we only need to make the change in one place.
2025-08-18 23023, 2025
rdswift[m]
PyQt is imported in over 120 modules, so that would save having to update the import in every one of them (which I suspect is currently being done using a script). That would also reduce the number of files modified in the git commit.
2025-08-18 23005, 2025
zas[m] has quit
2025-08-18 23015, 2025
outsidecontext[m
rdswift: I wouldn't really do this. There is not really a point in maintaining our own abstraction layer. Qt7 might have random differences or provide a completely different API, we can't foresee this. It's not like a major new Qt version is happening frequently. And changing Qt5 to Qt6 was by far not the time consuming part of the migration.
2025-08-18 23003, 2025
outsidecontext[m
There are existing abstraction layers, and we considered using one. But in the end you put yet another layer in between with another set of issues.