backend_qtagg, backend_qtcairo
ПРИМЕЧАНИЕ Эти бэкэнды не документируются автоматически, чтобы избежать добавления зависимости при сборке документации.
Связывания Qt
В настоящее время поддерживаются две активно используемые версии Qt, Qt5 и Qt6, и две поддерживаемые Python-связывания для каждой версии — PyQt5 и PySide2 для Qt5 и PyQt6 и PySide6 для Qt6 [1]. Хотя PyQt и Qt for Python (также известный как PySide) тесно отражают лежащий в основе C++ API, который они оборачивают, они не являются взаимозаменяемыми [2]. Для учета этого Matplotlib имеет внутренний слой совместимости API в matplotlib.backends.qt_compat, который покрывает наши потребности. Несмотря на то, что это общедоступный модуль, мы не считаем его стабильным пользовательским API, и он может изменяться без предварительного уведомления [3].
Ранее бэкэнды Qt Matplotlib имели номер версии Qt в названии, как в модуле, так и в значении rcParams["backend"] (например, matplotlib.backends.backend_qt4agg и matplotlib.backends.backend_qt5agg). Однако в процессе добавления поддержки Qt6 нам удалось поддерживать как Qt5, так и Qt6 с одной реализацией, при этом вся поддержка версий Qt и связывания обрабатывается в qt_compat. Большая часть кода Qt, не зависящего от рендерера, теперь находится в matplotlib.backends.backend_qt со специализацией для AGG в backend_qtagg и cairo в backend_qtcairo.
Связывание выбирается во время выполнения на основе уже импортированных связываний (путем проверки наличия QtCore подпакета), затем переменной среды QT_API, и, наконец, rcParams["backend"]. Во всех случаях, когда нам нужно искать, порядок PyQt6, PySide6, PyQt5, PySide2. См. Как выбрать реализацию Qt? для инструкций по использованию.
backend_qt5, backend_qt5agg, и backend_qt5cairo предоставляются и принуждают к использованию связывания Qt5 для обеспечения обратной совместимости. Их использование не рекомендуется (но не устарело), и следует предпочесть backend_qt, backend_qtagg, или backend_qtcairo. Однако эти модули не будут устаревшими, пока мы не прекратим поддержку Qt5.
© 2012–2023 Matplotlib Development Team. All rights reserved.
Licensed under the Matplotlib License Agreement.
https://matplotlib.org/3.6.0/api/backend_qt_api.html