воскресенье, 27 июня 2021 г.

Различия между PyQt6 и PyQt5

Различия между PyQt6 и PyQt5

Здесь приводится обзор различий между PyQt6 и PyQt5. Это не полный и детальный список, для детального описания различий обратитесь в справочник Qt v6 и Qt v5 APIs.

  • Все поименованные enums теперь применяются как подклассы стандартного класса языка Python Enum. (PyQt5 использует IntEnum для перечислений с ограниченной областью видимости и настраиваемого типа для традиционных именованных перечислений).

  • Qt предоставляет шаблонный класс QFlags как безопасный для типов способ использования значений перечисления, которые можно комбинировать как набор флагов. Имя класса часто является формой множественного числа от имени перечисления. PyQt5 реализует оба из них как отдельные типы. PyQt6 вместо этого объединяет их как один тип, используя имя перечисления в качестве подкласса Flag.

  • Класс декоратор Q_CLASSINFO() заменен  pyqtClassInfo().

  • Q_ENUM(), Q_ENUMS(),Q_FLAG() и Q_FLAGS() заменены на класс декоратор pyqtEnum().

  • Все  методы exec_() и print_() удалены.

  • qApp удален.

  • Словарь PYQT_CONFIGURATION удален.

  • Модуль Qt удален.

  • Привязки для классов Qt (под лицензией GPL), которые реализуют поддержку сетевой авторизации, перемещены в отдельный дополнительный проект PyQt6-NetworkAuth. Это означает, что все библиотеки, обернутые самим PyQt6, находятся под лицензией LGPL.

  • pylupdate6 это новое приложение, написанное полностью на языке Python. Оно может не читать файл .pro для того чтобы определить имена файлов .py для трансляции.

  • Поддержка для ресурсной системы Qt удалена (т.е. нет pyrcc6).

  • Требуется Python версии v3.6.1 или выше.

В Qt версии v6 некоторые функции из Qt v5 помечены как устаревшие. Эти функции не поддерживаются в PyQt6.

 

X-Plane 11, 12 - любитель, Фото любитель со стажем

Постоянные читатели

Архив блога