这是我的问题,我完全想要一个建议,这对我很有帮助。
我想在我的情节中添加两个项目(例如两个svg项目)。第一项是ID1,第二项是ID2。
当我点击第一个svg项时,它应该发出一个信号。同样,当我点击第二个svg项时,它应该发出另一个信号。但我不想使用物品的坐标。
我的目标是,当我点击它们时,项目必须告诉我他们的ID。 **但我不想使用物品的坐标。我无法弄清楚如何,请给我一个建议。
问候。
答案 0 :(得分:1)
我担心没有处理坐标就无法做到这一点,因为QwtPlotItem
进程只绘制事件。 Qwt不会将鼠标事件路由到项目,因此您需要手动实现此行为。
canvas()
上安装事件过滤器并拦截鼠标事件。QwtPlot::invTransform
将鼠标坐标转换为与x和y轴对应的值。QwtPlot::itemList
并检查每个项目的QwtPlotItem::boundingRect
是否包含点击的点。