Spec-Zone.ru › Matplotlib 3.8

matplotlib.backends.backend_qtagg, matplotlib.backends.backend_qtcairo

ПРИМЕЧАНИЕ Эти Подсистемы отображения не документированы здесь (автоматически), чтобы избежать добавления зависимости к построению документации.

Связывания Qt

В настоящее время поддерживаются 2 активно поддерживаемые версии Qt, Qt5 и Qt6, и две поддерживаемые привязки Python для каждой версии — PyQt5 и PySide2 для Qt5 и PyQt6 и PySide6 для Qt6 [1]. Подсистемы отображения qtagg и qtcairo Matplotlib (matplotlib.backends.backend_qtagg и matplotlib.backend.backend_qtcairo) поддерживают все эти привязки, с общими частями, выделенными в модуле matplotlib.backends.backend_qt.

При запуске эти подсистемы отображения выбирают фактическое используемое связывание следующим образом:

  1. Если подпакет привязки QtCore уже импортирован, эта привязка выбирается (порядок проверки PyQt6, PySide6, PyQt5, PySide2).
  2. Если переменная окружения QT_API имеет значение "PyQt6", "PySide6", "PyQt5", "PySide2" (регистронезависимо), эта привязка выбирается. (См. также документацию по Переменным окружения.)
  3. В противном случае выбирается первая доступная подсистема отображения в порядке PyQt6, PySide6, PyQt5, PySide2.

В прошлом Matplotlib имел отдельные подсистемы отображения для каждой версии Qt (например, qt4agg/matplotlib.backends.backend_qt4agg и qt5agg/matplotlib.backends.backend_qt5agg). Эта схема была отменена при добавлении поддержки Qt6. Для обратной совместимости qt5agg/backend_qt5agg и qt5cairo/backend_qt5cairo остаются доступными; выбор одной из этих подсистем отображения принудительно использует привязку Qt5. Их использование не рекомендуется, и следует отдавать предпочтение backend_qtagg или backend_qtcairo. Однако эти модули не будут устаревшими, пока мы не прекратим поддержку Qt5.

Хотя PyQt и Qt для Python (также известный как PySide) тесно отражают базовую API C++, которую они оборачивают, они не являются взаимозаменяемыми [2]. Для этого Matplotlib имеет внутренний слой совместимости API в matplotlib.backends.qt_compat, который охватывает наши потребности. Несмотря на то, что это общедоступный модуль, мы не считаем его стабильной API для пользователя, и он может изменяться без предупреждения [3].

[1]

Также существует PyQt4 и PySide для Qt4, но они больше не поддерживаются Matplotlib, а поддержка Qt4 со стороны поставщиков закончилась в 2015 году.

[2]

Несмотря на незначительные различия в API, более важным отличием между сериями привязок PyQt и Qt для Python является лицензирование.

[3]

Если вам нужен библиотека совместимости общего назначения, см. qtpy.

© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.8.4/api/backend_qt_api.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API