[PyQt] Help on "self"
Josh
jknox at irobot.com
Thu Feb 11 20:59:47 GMT 2010
David Arnold wrote:
> Hi,
>
> I'm not new to Python, but the use of "self" in classes has always been confusing. I working thru Rapid Gui Programming, and I have this code from Chatper 5:
>
> import sys
> from PyQt4.QtGui import *
>
> class PenPropertiesDlg(QDialog):
> def __init__(self, parent=None):
> super(PenPropertiesDlg, self).__init__(parent)
>
> widthLabel=QLabel("&Width")
> self.widthSpinBox=QSpinBox()
>
>
> Can someone "gently" explain why the author did not use self.widthLabel=QLabel("&Width").
>
> Thanks.
>
> David.
>
> _______________________________________________
> PyQt mailing list PyQt at riverbankcomputing.com
> http://www.riverbankcomputing.com/mailman/listinfo/pyqt
>
The widthLabel doesn't need to be referenced outside the PenPropertiesDlg.
Later in the book example you'll see:
layout.addWidget(widthLabel, 0, 0)
So the label gets created and placed in the layout, but there's no need
to get at it later.
If it had been created as self.widthLabel = ... then it would be
accessible via an instance of PenPropertiesDialog. If its not necessary
it would just clutter the namespace.
Perhaps if the intent was to update the label dynamically, then it could
be declared with self.widthLabel.
That help at all?
Josh
More information about the PyQt
mailing list