backend_qtagg
、#backend_qtcairo
注これらのバックエンドは、ドキュメントの構築に依存関係を追加することを避けるために、ここでは (自動的に) ドキュメント化されていません。
Qtバインディング#
現在、Qt5 と Qt6 の 2 つの積極的にサポートされている Qt バージョンと、バージョンごとにサポートされている 2 つの Python バインディング ( Qt5の場合は PyQt5 とPySide2、Qt6の場合はPyQt6とPySide6 [ 1 ] )があります。PyQt と Qt for Python (別名 PySide) はどちらも、それらがラップしている基礎となる C++ API を厳密に反映していますが、互いのドロップイン置換ではありません[ 2 ]。これを説明するために、Matplotlib には、私たちのニーズをカバーする内部 API 互換性レイヤーが
あります。公開モジュールであるにもかかわらず、これが安定したユーザー向け API であるとは考えておらず、警告なしに変更される可能性があります[ 3 ]。matplotlib.backends.qt_compat
以前は、Matplotlib の Qt バックエンドの名前に、モジュールとrcParams["backend"]
値の両方に Qt のバージョン番号が含まれていました (例: matplotlib.backends.backend_qt4agg
and
matplotlib.backends.backend_qt5agg
)。ただし、Qt6 のサポートを追加する一環として、Qt のすべてのバージョンとバインディングのサポートを .NET で処理する単一の実装で、Qt5 と Qt6 の両方をサポートすることができました
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 のサポートを終了するまで、これらのモジュールは非推奨になりません。