backend_qtagg
, #backend_qtcairo
NOTA Estos backends no se documentan (automáticamente) aquí, para evitar agregar una dependencia a la creación de los documentos.
Enlaces Qt #
Actualmente hay 2 versiones de Qt compatibles activamente, Qt5 y Qt6, y dos enlaces de Python compatibles por versión: PyQt5 y PySide2 para Qt5 y PyQt6 y PySide6 para Qt6 [ 1 ] . Si bien PyQt y Qt para Python (también conocido como PySide) reflejan fielmente la API de C++ subyacente que están empaquetando, no son reemplazos directos entre sí [ 2 ] . Para dar cuenta de esto, Matplotlib tiene una capa interna de compatibilidad de API en
matplotlib.backends.qt_compat
la que cubre nuestras necesidades. A pesar de ser un módulo público, no consideramos que sea una API estable para el usuario y puede cambiar sin previo aviso [ 3 ] .
Anteriormente, los backends de Qt de Matplotlib tenían el número de versión de Qt en el nombre, tanto en el módulo como en el rcParams["backend"]
valor (por ejemplo, matplotlib.backends.backend_qt4agg
y
matplotlib.backends.backend_qt5agg
). Sin embargo, como parte de agregar soporte para Qt6, pudimos admitir tanto Qt5 como Qt6 con una sola implementación con toda la versión de Qt y el soporte de enlace manejado en
qt_compat
. La mayoría del código Qt agnóstico del renderizador está ahora matplotlib.backends.backend_qt
con especialización para AGG en
backend_qtagg
y cairo en backend_qtcairo
.
El enlace se selecciona en tiempo de ejecución en función de los enlaces que ya se han importado (verificando el QtCore
subpaquete), luego mediante elQT_API
variable de entorno, y finalmente por el rcParams["backend"]
. En todos los casos en que necesitamos buscar, el orden es PyQt6
, PySide6
, PyQt5
, PySide2
. Consulte ¿Cómo selecciono la implementación de Qt? para instrucciones de uso.
Se proporcionan backend_qt5
, backend_qt5agg
y backend_qt5cairo
fuerzan el uso de un enlace Qt5 para compatibilidad con versiones anteriores. Se desaconseja su uso (pero no está en desuso) y backend_qt
, en su lugar, se debe preferir backend_qtagg
, o
. backend_qtcairo
Sin embargo, estos módulos no quedarán obsoletos hasta que eliminemos el soporte para Qt5.