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

Skip to content

Commit 2ccffc9

Browse files
committed
Make the Qt interactive zoom rectangle black & white.
Explicitly drawing white segments makes it visible even over dark backgrounds.
1 parent 7540cdd commit 2ccffc9

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
Qt zoom rectangle now black and white
2+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3+
4+
This makes it visible even over a dark background.

lib/matplotlib/backends/backend_qt5.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -486,10 +486,15 @@ def drawRectangle(self, rect):
486486
# to be called at the end of paintEvent.
487487
if rect is not None:
488488
def _draw_rect_callback(painter):
489-
pen = QtGui.QPen(QtCore.Qt.black, 1 / self._dpi_ratio,
490-
QtCore.Qt.DotLine)
489+
scaled_rect = [pt / self._dpi_ratio for pt in rect]
490+
pen = QtGui.QPen(QtCore.Qt.black, 1 / self._dpi_ratio)
491+
pen.setDashPattern([2, 2])
491492
painter.setPen(pen)
492-
painter.drawRect(*(pt / self._dpi_ratio for pt in rect))
493+
painter.drawRect(*scaled_rect)
494+
pen.setDashOffset(2)
495+
pen.setColor(QtCore.Qt.white)
496+
painter.setPen(pen)
497+
painter.drawRect(*scaled_rect)
493498
else:
494499
def _draw_rect_callback(painter):
495500
return

0 commit comments

Comments
 (0)