Skip to content

Commit 1fda4e0

Browse files
committed
DOC: add deprecation notes for Qt class re-arrangement
1 parent 64852f3 commit 1fda4e0

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
Changes to Qt backend class MRO
2+
```````````````````````````````
3+
4+
To support both Agg and cairo rendering for Qt backends all of the
5+
non-Agg specific code previously in
6+
:class:`.backend_qt5agg.FigureCanvasQTAggBase` has been moved to
7+
:class:`.backend_qt5.FigureCanvasQT` so it can be shared with the cairo
8+
implementation. The :meth:`.FigureCanvasQTAggBase.paintEvent`,
9+
:meth:`.FigureCanvasQTAggBase.blit`, and
10+
:meth:`.FigureCanvasQTAggBase.print_figure` methods have moved to
11+
:meth:`.FigureCanvasQTAgg.paintEvent`, :meth:`.FigureCanvasQTAgg.blit`, and
12+
:meth:`.FigureCanvasQTAgg.print_figure`. The first two methods assume that
13+
the instance is also a :class:`QWidget` so to use
14+
:class:`FigureCanvasQTAggBase` it was required to multiple inherit
15+
from a :class:`QWidget` sub-class.
16+
17+
Having moved all of it's methods either up or down the class hierarchy
18+
:class:`FigureCanvasQTAggBase` has been deprecated. To do this with
19+
out warning and to preserve as much API as possible,
20+
:class:`.backend_qt5.FigureCanvasQTAggBase` now inherits from
21+
:class:`.backend_qt5.FigureCanvasQTAgg`.
22+
23+
The MRO for :class:`FigureCanvasQTAgg` and
24+
:class:`FigureCanvasQTAggBase` used to be ::
25+
26+
27+
[matplotlib.backends.backend_qt5agg.FigureCanvasQTAgg,
28+
matplotlib.backends.backend_qt5agg.FigureCanvasQTAggBase,
29+
matplotlib.backends.backend_agg.FigureCanvasAgg,
30+
matplotlib.backends.backend_qt5.FigureCanvasQT,
31+
PyQt5.QtWidgets.QWidget,
32+
PyQt5.QtCore.QObject,
33+
sip.wrapper,
34+
PyQt5.QtGui.QPaintDevice,
35+
sip.simplewrapper,
36+
matplotlib.backend_bases.FigureCanvasBase,
37+
object]
38+
39+
and ::
40+
41+
42+
[matplotlib.backends.backend_qt5agg.FigureCanvasQTAggBase,
43+
matplotlib.backends.backend_agg.FigureCanvasAgg,
44+
matplotlib.backend_bases.FigureCanvasBase,
45+
object]
46+
47+
48+
respectively. They are now ::
49+
50+
[matplotlib.backends.backend_qt5agg.FigureCanvasQTAgg,
51+
matplotlib.backends.backend_agg.FigureCanvasAgg,
52+
matplotlib.backends.backend_qt5.FigureCanvasQT,
53+
PyQt5.QtWidgets.QWidget,
54+
PyQt5.QtCore.QObject,
55+
sip.wrapper,
56+
PyQt5.QtGui.QPaintDevice,
57+
sip.simplewrapper,
58+
matplotlib.backend_bases.FigureCanvasBase,
59+
object]
60+
61+
and ::
62+
63+
[matplotlib.backends.backend_qt5agg.FigureCanvasQTAggBase,
64+
matplotlib.backends.backend_qt5agg.FigureCanvasQTAgg,
65+
matplotlib.backends.backend_agg.FigureCanvasAgg,
66+
matplotlib.backends.backend_qt5.FigureCanvasQT,
67+
PyQt5.QtWidgets.QWidget,
68+
PyQt5.QtCore.QObject,
69+
sip.wrapper,
70+
PyQt5.QtGui.QPaintDevice,
71+
sip.simplewrapper,
72+
matplotlib.backend_bases.FigureCanvasBase,
73+
object]

0 commit comments

Comments
 (0)