#musicbrainz-picard-development

/

      • rdswift[m]
        (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.
      • 2025-08-18 23016, 2025

      • rdswift[m]
        Okay, it was just a thought.