diff --git a/examples/customPlot.py b/examples/customPlot.py index d6b23ba7..007ec691 100644 --- a/examples/customPlot.py +++ b/examples/customPlot.py @@ -34,16 +34,16 @@ class CustomTickSliderItem(pg.TickSliderItem): def __init__(self, *args, **kwds): pg.TickSliderItem.__init__(self, *args, **kwds) - self.all_ticks = [] - self.visible_ticks = {} + self.all_ticks = {} self._range = [0,1] def setTicks(self, ticks): for tick, pos in self.listTicks(): self.removeTick(tick) - self.visible_ticks = {} - self.all_ticks = ticks + for pos in ticks: + tickItem = self.addTick(pos, movable=False, color="333333") + self.all_ticks[pos] = tickItem self.updateRange(None, self._range) @@ -56,23 +56,17 @@ class CustomTickSliderItem(pg.TickSliderItem): self._range = viewRange for pos in self.all_ticks: - - if pos not in self.visible_ticks: - self.visible_ticks[pos] = self.addTick(pos, movable=False, color="333333") - - tick = self.visible_ticks[pos] - tickValueIncludingPadding = (pos - viewRange[0]) / (viewRange[1] - viewRange[0]) tickValue = (tickValueIncludingPadding*lengthIncludingPadding - origin) / length - visible = tickValue >= 0 and tickValue <= 1 + # Convert from np.bool_ to bool for setVisible + visible = bool(tickValue >= 0 and tickValue <= 1) + tick = self.all_ticks[pos] + tick.setVisible(visible) + if visible: self.setTickValue(tick, tickValue) - elif pos in self.visible_ticks: - self.removeTick(self.visible_ticks[pos]) - del self.visible_ticks[pos] - app = pg.mkQApp() diff --git a/pyqtgraph/graphicsItems/GradientEditorItem.py b/pyqtgraph/graphicsItems/GradientEditorItem.py index 5f0f0703..6f5d9132 100644 --- a/pyqtgraph/graphicsItems/GradientEditorItem.py +++ b/pyqtgraph/graphicsItems/GradientEditorItem.py @@ -342,6 +342,7 @@ class TickSliderItem(GraphicsWidget): tick.setPos(pos) self.ticks[tick] = val + self.update() self.sigTicksChanged.emit(self) self.sigTicksChangeFinished.emit(self)