diff --git a/doc/users/next_whats_new/2020-03-16-qtzoom.rst b/doc/users/next_whats_new/2020-03-16-qtzoom.rst new file mode 100644 index 000000000000..e3c2ece521fb --- /dev/null +++ b/doc/users/next_whats_new/2020-03-16-qtzoom.rst @@ -0,0 +1,4 @@ +Qt zoom rectangle now black and white +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This makes it visible even over a dark background. diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index 38bfc55c9c06..dfec53b6f957 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -479,10 +479,15 @@ def drawRectangle(self, rect): # to be called at the end of paintEvent. if rect is not None: def _draw_rect_callback(painter): - pen = QtGui.QPen(QtCore.Qt.black, 1 / self._dpi_ratio, - QtCore.Qt.DotLine) + scaled_rect = [pt / self._dpi_ratio for pt in rect] + pen = QtGui.QPen(QtCore.Qt.black, 1 / self._dpi_ratio) + pen.setDashPattern([3, 3]) painter.setPen(pen) - painter.drawRect(*(pt / self._dpi_ratio for pt in rect)) + painter.drawRect(*scaled_rect) + pen.setDashOffset(3) + pen.setColor(QtCore.Qt.white) + painter.setPen(pen) + painter.drawRect(*scaled_rect) else: def _draw_rect_callback(painter): return