Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit eb489f6

Browse files
timhoffmtacaswell
authored andcommitted
Merge pull request #9993 from anntzer/qtcompat
Rewrite and greatly simplify qt_compat.py. Conflicts: INSTALL.rst - kept changes away from App specific wording - kept min pyqt4 version bump doc/sphinxext/mock_gui_toolkits.py - only removed setting up the Qt mocks lib/matplotlib/backends/qt_compat.py - kept backported version, conflict was in block of constants at top (all of the contestants are still defined in the module)
1 parent f822dba commit eb489f6

7 files changed

Lines changed: 167 additions & 321 deletions

File tree

INSTALL.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -188,10 +188,10 @@ Optionally, you can also install a number of packages to enable better user
188188
interface toolkits. See :ref:`what-is-a-backend` for more details on the
189189
optional Matplotlib backends and the capabilities they provide.
190190

191-
* :term:`tk` (>= 8.3, != 8.6.0 or 8.6.1): for the TkAgg backend;
192-
* `PyQt4 <https://pypi.python.org/pypi/PyQt4>`_ (>= 4.4) or
193-
`PySide <https://pypi.python.org/pypi/PySide>`_: for the Qt4Agg backend;
194-
* `PyQt5 <https://pypi.python.org/pypi/PyQt5>`_: for the Qt5Agg backend;
191+
* :term:`tk` (>= 8.3, != 8.6.0 or 8.6.1): for the Tk-based backends;
192+
* `PyQt4 <https://pypi.python.org/pypi/PyQt4>`_ (>= 4.6) or
193+
`PySide <https://pypi.python.org/pypi/PySide>`_: for the Qt4-based backend;
194+
* `PyQt5 <https://pypi.python.org/pypi/PyQt5>`_: for the Qt5-based backend;
195195
* :term:`pygtk` (>= 2.4): for the GTK and the GTKAgg backend;
196196
* :term:`wxpython` (>= 2.9 or later): for the WX or WXAgg backend;
197197
* `cairocffi <https://cairocffi.readthedocs.io/en/latest/>`__ (>=

doc/api/backend_qt4agg_api.rst

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
:mod:`matplotlib.backends.backend_qt4agg`
33
=========================================
44

5-
.. automodule:: matplotlib.backends.backend_qt4agg
6-
:members:
7-
:undoc-members:
8-
:show-inheritance:
5+
**NOTE** Not included, to avoid adding a dependency to building the docs.
6+
7+
.. .. automodule:: matplotlib.backends.backend_qt4agg
8+
.. :members:
9+
.. :undoc-members:
10+
.. :show-inheritance:

doc/api/backend_qt4cairo_api.rst

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
:mod:`matplotlib.backends.backend_qt4cairo`
33
===========================================
44

5-
.. automodule:: matplotlib.backends.backend_qt4cairo
6-
:members:
7-
:undoc-members:
8-
:show-inheritance:
5+
**NOTE** Not included, to avoid adding a dependency to building the docs.
6+
7+
.. .. automodule:: matplotlib.backends.backend_qt4cairo
8+
.. :members:
9+
.. :undoc-members:
10+
.. :show-inheritance:

doc/api/backend_qt5agg_api.rst

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
:mod:`matplotlib.backends.backend_qt5agg`
33
=========================================
44

5-
.. automodule:: matplotlib.backends.backend_qt5agg
6-
:members:
7-
:undoc-members:
8-
:show-inheritance:
5+
**NOTE** Not included, to avoid adding a dependency to building the docs.
6+
7+
.. .. automodule:: matplotlib.backends.backend_qt5agg
8+
.. :members:
9+
.. :undoc-members:
10+
.. :show-inheritance:

doc/api/backend_qt5cairo_api.rst

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
:mod:`matplotlib.backends.backend_qt5cairo`
33
===========================================
44

5-
.. automodule:: matplotlib.backends.backend_qt5cairo
6-
:members:
7-
:undoc-members:
8-
:show-inheritance:
5+
**NOTE** Not included, to avoid adding a dependency to building the docs.
6+
7+
.. .. automodule:: matplotlib.backends.backend_qt5cairo
8+
.. :members:
9+
.. :undoc-members:
10+
.. :show-inheritance:

doc/sphinxext/mock_gui_toolkits.py

Lines changed: 0 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -10,108 +10,6 @@ class MyCairoCffi(MagicMock):
1010
version_info = (1, 4, 0)
1111

1212

13-
class MyPyQt4(MagicMock):
14-
class QtGui(object):
15-
# PyQt4.QtGui public classes.
16-
# Generated with
17-
# textwrap.fill([name for name in dir(PyQt4.QtGui)
18-
# if isinstance(getattr(PyQt4.QtGui, name), type)])
19-
_QtGui_public_classes = """\
20-
Display QAbstractButton QAbstractGraphicsShapeItem
21-
QAbstractItemDelegate QAbstractItemView QAbstractPrintDialog
22-
QAbstractProxyModel QAbstractScrollArea QAbstractSlider
23-
QAbstractSpinBox QAbstractTextDocumentLayout QAction QActionEvent
24-
QActionGroup QApplication QBitmap QBoxLayout QBrush QButtonGroup
25-
QCalendarWidget QCheckBox QClipboard QCloseEvent QColor QColorDialog
26-
QColumnView QComboBox QCommandLinkButton QCommonStyle QCompleter
27-
QConicalGradient QContextMenuEvent QCursor QDataWidgetMapper QDateEdit
28-
QDateTimeEdit QDesktopServices QDesktopWidget QDial QDialog
29-
QDialogButtonBox QDirModel QDockWidget QDoubleSpinBox QDoubleValidator
30-
QDrag QDragEnterEvent QDragLeaveEvent QDragMoveEvent QDropEvent
31-
QErrorMessage QFileDialog QFileIconProvider QFileOpenEvent
32-
QFileSystemModel QFocusEvent QFocusFrame QFont QFontComboBox
33-
QFontDatabase QFontDialog QFontInfo QFontMetrics QFontMetricsF
34-
QFormLayout QFrame QGesture QGestureEvent QGestureRecognizer QGlyphRun
35-
QGradient QGraphicsAnchor QGraphicsAnchorLayout QGraphicsBlurEffect
36-
QGraphicsColorizeEffect QGraphicsDropShadowEffect QGraphicsEffect
37-
QGraphicsEllipseItem QGraphicsGridLayout QGraphicsItem
38-
QGraphicsItemAnimation QGraphicsItemGroup QGraphicsLayout
39-
QGraphicsLayoutItem QGraphicsLineItem QGraphicsLinearLayout
40-
QGraphicsObject QGraphicsOpacityEffect QGraphicsPathItem
41-
QGraphicsPixmapItem QGraphicsPolygonItem QGraphicsProxyWidget
42-
QGraphicsRectItem QGraphicsRotation QGraphicsScale QGraphicsScene
43-
QGraphicsSceneContextMenuEvent QGraphicsSceneDragDropEvent
44-
QGraphicsSceneEvent QGraphicsSceneHelpEvent QGraphicsSceneHoverEvent
45-
QGraphicsSceneMouseEvent QGraphicsSceneMoveEvent
46-
QGraphicsSceneResizeEvent QGraphicsSceneWheelEvent
47-
QGraphicsSimpleTextItem QGraphicsTextItem QGraphicsTransform
48-
QGraphicsView QGraphicsWidget QGridLayout QGroupBox QHBoxLayout
49-
QHeaderView QHelpEvent QHideEvent QHoverEvent QIcon QIconDragEvent
50-
QIconEngine QIconEngineV2 QIdentityProxyModel QImage QImageIOHandler
51-
QImageReader QImageWriter QInputContext QInputContextFactory
52-
QInputDialog QInputEvent QInputMethodEvent QIntValidator QItemDelegate
53-
QItemEditorCreatorBase QItemEditorFactory QItemSelection
54-
QItemSelectionModel QItemSelectionRange QKeyEvent QKeyEventTransition
55-
QKeySequence QLCDNumber QLabel QLayout QLayoutItem QLineEdit
56-
QLinearGradient QListView QListWidget QListWidgetItem QMainWindow
57-
QMatrix QMatrix2x2 QMatrix2x3 QMatrix2x4 QMatrix3x2 QMatrix3x3
58-
QMatrix3x4 QMatrix4x2 QMatrix4x3 QMatrix4x4 QMdiArea QMdiSubWindow
59-
QMenu QMenuBar QMessageBox QMimeSource QMouseEvent
60-
QMouseEventTransition QMoveEvent QMovie QPageSetupDialog QPaintDevice
61-
QPaintEngine QPaintEngineState QPaintEvent QPainter QPainterPath
62-
QPainterPathStroker QPalette QPanGesture QPen QPicture QPictureIO
63-
QPinchGesture QPixmap QPixmapCache QPlainTextDocumentLayout
64-
QPlainTextEdit QPolygon QPolygonF QPrintDialog QPrintEngine
65-
QPrintPreviewDialog QPrintPreviewWidget QPrinter QPrinterInfo
66-
QProgressBar QProgressDialog QProxyModel QPushButton QPyTextObject
67-
QQuaternion QRadialGradient QRadioButton QRawFont QRegExpValidator
68-
QRegion QResizeEvent QRubberBand QScrollArea QScrollBar
69-
QSessionManager QShortcut QShortcutEvent QShowEvent QSizeGrip
70-
QSizePolicy QSlider QSortFilterProxyModel QSound QSpacerItem QSpinBox
71-
QSplashScreen QSplitter QSplitterHandle QStackedLayout QStackedWidget
72-
QStandardItem QStandardItemModel QStaticText QStatusBar
73-
QStatusTipEvent QStringListModel QStyle QStyleFactory QStyleHintReturn
74-
QStyleHintReturnMask QStyleHintReturnVariant QStyleOption
75-
QStyleOptionButton QStyleOptionComboBox QStyleOptionComplex
76-
QStyleOptionDockWidget QStyleOptionDockWidgetV2 QStyleOptionFocusRect
77-
QStyleOptionFrame QStyleOptionFrameV2 QStyleOptionFrameV3
78-
QStyleOptionGraphicsItem QStyleOptionGroupBox QStyleOptionHeader
79-
QStyleOptionMenuItem QStyleOptionProgressBar QStyleOptionProgressBarV2
80-
QStyleOptionRubberBand QStyleOptionSizeGrip QStyleOptionSlider
81-
QStyleOptionSpinBox QStyleOptionTab QStyleOptionTabBarBase
82-
QStyleOptionTabBarBaseV2 QStyleOptionTabV2 QStyleOptionTabV3
83-
QStyleOptionTabWidgetFrame QStyleOptionTabWidgetFrameV2
84-
QStyleOptionTitleBar QStyleOptionToolBar QStyleOptionToolBox
85-
QStyleOptionToolBoxV2 QStyleOptionToolButton QStyleOptionViewItem
86-
QStyleOptionViewItemV2 QStyleOptionViewItemV3 QStyleOptionViewItemV4
87-
QStylePainter QStyledItemDelegate QSwipeGesture QSyntaxHighlighter
88-
QSystemTrayIcon QTabBar QTabWidget QTableView QTableWidget
89-
QTableWidgetItem QTableWidgetSelectionRange QTabletEvent
90-
QTapAndHoldGesture QTapGesture QTextBlock QTextBlockFormat
91-
QTextBlockGroup QTextBlockUserData QTextBrowser QTextCharFormat
92-
QTextCursor QTextDocument QTextDocumentFragment QTextDocumentWriter
93-
QTextEdit QTextFormat QTextFragment QTextFrame QTextFrameFormat
94-
QTextImageFormat QTextInlineObject QTextItem QTextLayout QTextLength
95-
QTextLine QTextList QTextListFormat QTextObject QTextObjectInterface
96-
QTextOption QTextTable QTextTableCell QTextTableCellFormat
97-
QTextTableFormat QTimeEdit QToolBar QToolBox QToolButton QToolTip
98-
QTouchEvent QTransform QTreeView QTreeWidget QTreeWidgetItem
99-
QTreeWidgetItemIterator QUndoCommand QUndoGroup QUndoStack QUndoView
100-
QVBoxLayout QValidator QVector2D QVector3D QVector4D QWhatsThis
101-
QWhatsThisClickedEvent QWheelEvent QWidget QWidgetAction QWidgetItem
102-
QWindowStateChangeEvent QWizard QWizardPage QWorkspace
103-
QX11EmbedContainer QX11EmbedWidget QX11Info
104-
"""
105-
for _name in _QtGui_public_classes.split():
106-
locals()[_name] = type(_name, (), {})
107-
del _name
108-
109-
110-
class MySip(MagicMock):
111-
def getapi(*args):
112-
return 1
113-
114-
11513
class MyWX(MagicMock):
11614
class Panel(object):
11715
pass
@@ -127,8 +25,6 @@ class Frame(object):
12725

12826
def setup(app):
12927
sys.modules['cairocffi'] = MyCairoCffi()
130-
sys.modules['PyQt4'] = MyPyQt4()
131-
sys.modules['sip'] = MySip()
13228
sys.modules['wx'] = MyWX()
13329
sys.modules['wxversion'] = MagicMock()
13430

0 commit comments

Comments
 (0)