首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >交叉毛出现并消失在鼠标进入和鼠标退出。

交叉毛出现并消失在鼠标进入和鼠标退出。
EN

Stack Overflow用户
提问于 2020-07-26 03:02:48
回答 1查看 142关注 0票数 1

在查看pyqtgraphcrosshair.py的十字头发示例时,十字头发总是可见的,当鼠标在地形图上时移动到鼠标的位置。这意味着,当光标退出绘图时,十字线将被卡在角上。当鼠标在情节结束时,是否有一种强有力的方法来打开或关闭交叉头发?有这些sigMouseMovedsigMouseHover信号,但是可以以足够快的速度将鼠标移出窗口,这样sigMouseHover就不会用空参数启动,所以我认为它没有连接到mouseLeave

EN

回答 1

Stack Overflow用户

发布于 2022-02-10 15:53:52

要获得mouseLeave事件,请使用继承自QWidgetleaveEvent of PlotWidget

LeaveEvent总是在光标离开时触发,即使是快速移动的鼠标光标也是如此。

与此函数相反的是enterEvent,我们可以使用它再次显示十字线。

下面是隐藏/显示交叉头发的工作示例。

代码语言:javascript
复制
import sys

import numpy as np
import pyqtgraph as pg
from PyQt5.QtWidgets import QApplication


class CrosshairPlotWidget(pg.PlotWidget):

    def __init__(self, parent=None, background='default', plotItem=None, **kargs):
        super().__init__(parent=parent, background=background, plotItem=plotItem, **kargs)
        self.vLine = pg.InfiniteLine(angle=90, movable=False)
        self.hLine = pg.InfiniteLine(angle=0, movable=False)
        self.addItem(self.vLine, ignoreBounds=True)
        self.addItem(self.hLine, ignoreBounds=True)
        self.hLine.hide()
        self.vLine.hide()

    def leaveEvent(self, ev):
        """Mouse left PlotWidget"""
        self.hLine.hide()
        self.vLine.hide()

    def enterEvent(self, ev):
        """Mouse enter PlotWidget"""
        self.hLine.show()
        self.vLine.show()

    def mouseMoveEvent(self, ev):
        """Mouse moved in PlotWidget"""
        if self.sceneBoundingRect().contains(ev.pos()):
            mousePoint = self.plotItem.vb.mapSceneToView(ev.pos())
            self.vLine.setPos(mousePoint.x())
            self.hLine.setPos(mousePoint.y())


if __name__ == "__main__":
    app = QApplication(sys.argv)

    x = [0, 1, 2, 3, 4, 5]
    y = np.random.normal(size=6)
    plot = CrosshairPlotWidget()
    plot.plot(x, y)
    plot.show()

    app.exec()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63095671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档