Hi everyone!
I created a class Plot_Curve_Item that herite of the PlotCurveItem class of
pyqtgraph. In the manufacturer of the class, I declare a timer which is a
QTimeLine instance of Qt. I redefine the HoverEvent method to increase the
thickness of the curve when the mouse flies over it for a time of 1000ms.
so I call the start function of QTimerLine to start the timer. I connect
the finished signal of the timer to the Timer slot that I defined in the
class Plot_Curve_Item to draw the width of the curve to 2 once the time of
1000 ms is elapsed. However, when I execute the code, python sends me this
message:
Error sending hover exit event:
*|==============================>>*
* | Traceback (most recent call last):*
* | File "d:/Documents/VISUAL STUDIO CODE EXO/PlotCurve.py", line 39,
in <module>*
* | sys.exit(app.exec_())*
* | File
"C:\Users\ThinkPad\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pyqtgraph\widgets\GraphicsView.py",
line 368, in mouseMoveEvent*
* | QtGui.QGraphicsView.mouseMoveEvent(self, ev)*
* | File
"C:\Users\ThinkPad\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pyqtgraph\GraphicsScene\GraphicsScene.py",
line 162, in mouseMoveEvent*
* | self.sendHoverEvents(ev)*
* | File
"C:\Users\ThinkPad\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pyqtgraph\GraphicsScene\GraphicsScene.py",
line 256, in sendHoverEvents*
* | debug.printExc("Error sending hover exit event:")*
* | --- exception caught here ---*
* | File
"C:\Users\ThinkPad\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pyqtgraph\GraphicsScene\GraphicsScene.py",
line 254, in sendHoverEvents*
* | item.hoverEvent(event)*
* | File "d:/Documents/VISUAL STUDIO CODE EXO/PlotCurve.py", line 20,
in hoverEvent*
* | self.timer.start()*
* | AttributeError: 'Plot_Curve_Item' object has no attribute 'timer'*
* |==============================<<*
*Here's the whole code:*
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
import pyqtgraph as pg
from pyqtgraph.Qt import QtGui, QtCore
import numpy as np
import time
import sys
class Plot_Curve_Item(pg.PlotCurveItem):
def __init(self,parent = None):
super().__init__(parent=parent)
self.setParent(parent)
self.timer = QTimeLine(1000)
self.timer.finished.connect(self.Timer)
def hoverEvent(self,event):
self.timer.start()
self.setPen(width=4)
def Timer(self):
self.setPen(width=2)
if __name__ == "__main__":
app = QApplication(sys.argv)
widget = QMainWindow()
x1 = np.linspace(0,20,10)
y1 = np.arange(0,10)
Plot_Widget = pg.PlotWidget()
Plot_Item = pg.PlotItem()
plot_item_curve = Plot_Curve_Item(x1,y1)
Plot_Item.addItem(plot_item_curve)
Plot_Widget.addItem(Plot_Item)
widget.setCentralWidget(Plot_Widget)
widget.show()
sys.exit(app.exec_())
--
You received this message because you are subscribed to the Google Groups
"pyqtgraph" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/pyqtgraph/41773565-0bc1-4f7e-b80f-e8650a124d5b%40googlegroups.com.