Skip to content Skip to sidebar Skip to footer

Pyqt 4 - Global Name 'signal' Is Not Defined

I am trying to connect a push button signal to a callable I created, but for some reason this error keeps on popping up. I've checked to make sure QtCore is imported ... what else

Solution 1:

SIGNAL is inside QtCore, so the line should be:

self.connect(self.qFileButton, QtCore.SIGNAL("pressed()"), self.loadFile)

but you really should use the new style connections:

self.qFileButton.pressed.connect(self.loadFile)

And, unless you meant to differentiate a click from press/release couple, you'd better use clicked signal:

self.qFileButton.clicked.connect(self.loadFile)

Solution 2:

SIGNAL is defined inside QtCore, so you must use it within QtCore namespace if you've imported QtCore as a whole. So use:

QtCore.SIGNAL(...)

instead of:

SIGNAL(...)

Or you can import SIGNAL from QtCore explicitly:

fromPyQt4.QtCoreimportSIGNAL

Post a Comment for "Pyqt 4 - Global Name 'signal' Is Not Defined"