Skip to content

Commit ce84623

Browse files
committed
Work around PySide2 incompatibility with Python 3.10.
1 parent c2f83ec commit ce84623

File tree

2 files changed

+19
-15
lines changed

2 files changed

+19
-15
lines changed

lib/matplotlib/backends/backend_qt.py

+12-12
Original file line numberDiff line numberDiff line change
@@ -626,9 +626,9 @@ class NavigationToolbar2QT(NavigationToolbar2, QtWidgets.QToolBar):
626626
def __init__(self, canvas, parent, coordinates=True):
627627
"""coordinates: should we show the coordinates on the right?"""
628628
QtWidgets.QToolBar.__init__(self, parent)
629-
self.setAllowedAreas(
630-
_enum("QtCore.Qt.ToolBarArea").TopToolBarArea
631-
| _enum("QtCore.Qt.ToolBarArea").TopToolBarArea)
629+
self.setAllowedAreas(QtCore.Qt.ToolBarArea(
630+
_to_int(_enum("QtCore.Qt.ToolBarArea").TopToolBarArea) |
631+
_to_int(_enum("QtCore.Qt.ToolBarArea").BottomToolBarArea)))
632632

633633
self.coordinates = coordinates
634634
self._actions = {} # mapping of toolitem method names to QActions.
@@ -651,9 +651,9 @@ def __init__(self, canvas, parent, coordinates=True):
651651
# will resize this label instead of the buttons.
652652
if self.coordinates:
653653
self.locLabel = QtWidgets.QLabel("", self)
654-
self.locLabel.setAlignment(
655-
_enum("QtCore.Qt.AlignmentFlag").AlignRight
656-
| _enum("QtCore.Qt.AlignmentFlag").AlignVCenter)
654+
self.locLabel.setAlignment(QtCore.Qt.AlignmentFlag(
655+
_to_int(_enum("QtCore.Qt.AlignmentFlag").AlignRight) |
656+
_to_int(_enum("QtCore.Qt.AlignmentFlag").AlignVCenter)))
657657
self.locLabel.setSizePolicy(QtWidgets.QSizePolicy(
658658
_enum("QtWidgets.QSizePolicy.Policy").Expanding,
659659
_enum("QtWidgets.QSizePolicy.Policy").Ignored,
@@ -883,13 +883,13 @@ class ToolbarQt(ToolContainerBase, QtWidgets.QToolBar):
883883
def __init__(self, toolmanager, parent):
884884
ToolContainerBase.__init__(self, toolmanager)
885885
QtWidgets.QToolBar.__init__(self, parent)
886-
self.setAllowedAreas(
887-
_enum("QtCore.Qt.ToolBarArea").TopToolBarArea
888-
| _enum("QtCore.Qt.ToolBarArea").TopToolBarArea)
886+
self.setAllowedAreas(QtCore.Qt.ToolBarArea(
887+
_to_int(_enum("QtCore.Qt.ToolBarArea").TopToolBarArea) |
888+
_to_int(_enum("QtCore.Qt.ToolBarArea").BottomToolBarArea)))
889889
message_label = QtWidgets.QLabel("")
890-
message_label.setAlignment(
891-
_enum("QtCore.Qt.AlignmentFlag").AlignRight
892-
| _enum("QtCore.Qt.AlignmentFlag").AlignVCenter)
890+
message_label.setAlignment(QtCore.Qt.AlignmentFlag(
891+
_to_int(_enum("QtCore.Qt.AlignmentFlag").AlignRight) |
892+
_to_int(_enum("QtCore.Qt.AlignmentFlag").AlignVCenter)))
893893
message_label.setSizePolicy(QtWidgets.QSizePolicy(
894894
_enum("QtWidgets.QSizePolicy.Policy").Expanding,
895895
_enum("QtWidgets.QSizePolicy.Policy").Ignored,

lib/matplotlib/backends/qt_editor/_formlayout.py

+7-3
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848

4949
from matplotlib import _api, colors as mcolors
5050
from .. import qt_compat
51-
from ..qt_compat import QtGui, QtWidgets, QtCore, _enum
51+
from ..qt_compat import QtGui, QtWidgets, QtCore, _enum, _to_int
5252

5353
_log = logging.getLogger(__name__)
5454

@@ -441,8 +441,12 @@ def __init__(self, data, title="", comment="",
441441

442442
# Button box
443443
self.bbox = bbox = QtWidgets.QDialogButtonBox(
444-
_enum("QtWidgets.QDialogButtonBox.StandardButton").Ok
445-
| _enum("QtWidgets.QDialogButtonBox.StandardButton").Cancel)
444+
QtWidgets.QDialogButtonBox.StandardButton(
445+
_to_int(
446+
_enum("QtWidgets.QDialogButtonBox.StandardButton").Ok) |
447+
_to_int(
448+
_enum("QtWidgets.QDialogButtonBox.StandardButton").Cancel)
449+
))
446450
self.formwidget.update_buttons.connect(self.update_buttons)
447451
if self.apply_callback is not None:
448452
apply_btn = bbox.addButton(

0 commit comments

Comments
 (0)