As to when or where the decorator is necessary at all, this link has a very 
short answer for PyQt4 that may also be relevant for PySide (and PyQt5). 
It's still slightly mysterious, though.

https://stackoverflow.com/questions/14421897/is-the-pyside-slot-decorator-necessary/14431607#14431607

On Tuesday, July 13, 2021 at 2:20:34 PM UTC-4 James wrote:

> Hi all,
>
> The code below works as expected to get the position of a click in a 
> GraphicsLayoutWidget. But if I uncomment the @pyqtSlot() line, then I get 
> the following error when I click in the GLW:
>
>     TypeError: onClick() missing 1 required positional argument: 'evt'
>
> Should I not be using @pyqtSlot() decorator?
>
> James
>
> PS: I do not see an option to syntax-highlight code blocks in this group. 
> Can that be enabled?
>
> import sys
> import pyqtgraph as pg
> from PyQt5 import QtWidgets as qtw
> from PyQt5.QtCore import pyqtSlot
>
> class MainWindow(qtw.QMainWindow):
>     def __init__(self, *args, **kwargs): super(MainWindow, 
> self).__init__(*args, **kwargs)
>
>         self.glw = pg.GraphicsLayoutWidget()
>         self.setCentralWidget(self.glw)
>         self.glw.scene().sigMouseClicked.connect(self.onClick)
>         self.show()
>
>     #@pyqtSlot()                                                          
>                                                                     
>     def onClick(self, evt):
>         print("glw clicked")
>         print(evt.scenePos())
>
> if __name__ == "__main__":
>     app = qtw.QApplication(sys.argv)
>     win = MainWindow()
>     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/6609b0e8-b5f8-4175-9f65-03f0dbbfb89cn%40googlegroups.com.

Reply via email to