fpp
Thu, 26 Aug 2010 10:38:45 -0700
On Wed, Aug 25, 2010 at 10:43 PM, Eric Frederich
<eric.freder...@gmail.com> wrote:
> If I find myself subclassing a widget just to get something to happen on an
> event am I doing something wrong?
> Is there another way to accomplish this?
> Is there a way to use an event like a signal in a self.connect?
> For example... If I want so do something when a label is clicked I have done
> the following and then just connect to the signal I emmit.
> class ClickableLabel(QLabel):
> def __init__(self, *args, **kwargs):
> super(ClickableLabel, self).__init__(*args, **kwargs)
> def mousePressEvent(self, event):
> self.emit(SIGNAL("clicked"))
I guess it depends... If you have only one such label in your app, you don't need a subclass or even a signal. You can just assign your own function to the method of a QLabel instance, as in: self.myClickableQLabel.mousePressEvent = self.on_QLabel_clicked then define what happens there: def on_QLabel_clicked(self, event): print "Aha!" Then again, if you need several such labels, creating a subclass avoids code duplication. _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt