backend_qtagg, #backend_qtcairo

OBSERVAÇÃO Esses back-ends não são (auto) documentados aqui, para evitar a adição de uma dependência à criação dos documentos.

Ligações Qt #

Existem atualmente 2 versões Qt ativamente suportadas, Qt5 e Qt6, e duas ligações Python suportadas por versão - PyQt5 e PySide2 para Qt5 e PyQt6 e PySide6 para Qt6 [ 1 ] . Embora PyQt e Qt for Python (também conhecido como PySide) espelhem de perto a API C++ subjacente que estão agrupando, eles não são substitutos imediatos um do outro [ 2 ] . Para dar conta disso, o Matplotlib possui uma camada interna de compatibilidade de API matplotlib.backends.qt_compatque cobre nossas necessidades. Apesar de ser um módulo público, não consideramos que seja uma API estável para o usuário e pode mudar sem aviso prévio [ 3 ] .

Anteriormente, os backends Qt do Matplotlib tinham o número da versão Qt no nome, tanto no módulo quanto no rcParams["backend"]valor (por exemplo matplotlib.backends.backend_qt4agg, e matplotlib.backends.backend_qt5agg). No entanto, como parte da adição de suporte para Qt6, pudemos oferecer suporte a Qt5 e Qt6 com uma única implementação com toda a versão do Qt e suporte de ligação manipulados em qt_compat. A maioria do código Qt agnóstico do renderizador está agora matplotlib.backends.backend_qtcom especialização para AGG in backend_qtagge cairo in backend_qtcairo.

A ligação é selecionada em tempo de execução com base em quais ligações já foram importadas (verificando o QtCoresubpacote) e, em seguida, peloQT_API variável de ambiente e, finalmente, pelo rcParams["backend"]. Em todos os casos em que precisamos pesquisar, a ordem é PyQt6, PySide6, PyQt5, PySide2. Consulte Como seleciono a implementação do Qt? para instruções de uso.

Os backend_qt5, backend_qt5agge backend_qt5cairosão fornecidos e forçam o uso de uma ligação Qt5 para compatibilidade com versões anteriores. Seu uso é desencorajado (mas não obsoleto) e backend_qt, backend_qtagg, ou backend_qtcairodeve ser preferido. No entanto, esses módulos não serão obsoletos até que abandonemos o suporte para Qt5.