Skip to content

Commit 5dcc3ee

Browse files
committed
fix: Possibly fix KeyError on hover in QuickView (#205)
1 parent e67c0e5 commit 5dcc3ee

2 files changed

Lines changed: 9 additions & 0 deletions

File tree

CHANGELOG

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
2.26.1
2+
- fix: Possibly fix `KeyError` on hover in QuickView by doing a
3+
`GraphicsScene.hoverItems.clear()` whenever something changes (#205)
24
- enh: joint KDE map for scatter and contour visualization (#111)
35
- enh: setup basic logging
46
- enh: inform user about unavailable contour data with dclab 0.71.0 (#207)

dcscope/gui/quick_view/qv_scatter.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ def __init__(self, *args, **kwargs):
4545
self._view_box.add_poly_vertex.connect(self.add_poly_vertex)
4646

4747
def activate_poly_mode(self, points=None):
48+
self.scene().hoverItems.clear()
4849
if points is None:
4950
points = []
5051
if self.poly_line_roi is None:
@@ -60,6 +61,7 @@ def activate_poly_mode(self, points=None):
6061
return self.poly_line_roi
6162

6263
def activate_scatter_mode(self):
64+
self.scene().hoverItems.clear()
6365
if self.poly_line_roi is not None:
6466
self.removeItem(self.poly_line_roi)
6567
self.poly_line_roi = None
@@ -88,6 +90,7 @@ def plot_data(self, rtdc_ds, slot, xax="area_um", yax="deform",
8890
xscale="linear", yscale="linear", downsample=False,
8991
hue_type="none", hue_kwargs=None, isoelastics=False,
9092
lut_identifier=None):
93+
self.scene().hoverItems.clear()
9194
self.rtdc_ds = rtdc_ds
9295
self.slot = slot
9396
self.xax = xax
@@ -184,6 +187,7 @@ def plot_data(self, rtdc_ds, slot, xax="area_um", yax="deform",
184187
lut_identifier=lut_identifier)
185188

186189
def set_mouse_click_mode(self, mode):
190+
self.scene().hoverItems.clear()
187191
allowed = ["scatter", "poly-create", "poly-modify"]
188192
if mode not in allowed:
189193
raise ValueError("Invalid mouse mode: {}, ".format(mode)
@@ -195,6 +199,7 @@ def set_mouse_click_mode(self, mode):
195199
self._view_box.mode = mode
196200

197201
def set_poly_points(self, points):
202+
self.scene().hoverItems.clear()
198203
if self.poly_line_roi is None:
199204
raise ValueError("No polygon selection active!")
200205
points = np.array(points, copy=True)
@@ -208,6 +213,7 @@ def set_poly_points(self, points):
208213
self.poly_line_roi.setState(state)
209214

210215
def setData(self, x, y, **kwargs):
216+
self.scene().hoverItems.clear()
211217
# convert to log-scale if applicable
212218
if self.xscale == "log":
213219
x = np.log10(x)
@@ -217,6 +223,7 @@ def setData(self, x, y, **kwargs):
217223
self.scatter.setData(x=x, y=y, **kwargs)
218224

219225
def setSelection(self, event_index):
226+
self.scene().hoverItems.clear()
220227
x = self.data_x[event_index]
221228
y = self.data_y[event_index]
222229
self.select.setData([x], [y])

0 commit comments

Comments
 (0)