[PyQt] Re: Help with help action
mark at qtrac.eu
Thu Sep 27 12:59:19 BST 2007
On 2007-09-27, Thorsten Kampe wrote:
> * Mark Summerfield (Thu, 27 Sep 2007 08:45:59 +0100)
> > On 2007-09-26, Thorsten Kampe wrote:
> > > I'm trying to teach myself GUI programmming with the help of the new
> > > PyQt book and the examples from the PyQt package. Although I've been
> > > doing Python for five years I have a hard time doing OOP stuff.
> > > Frankly, I never know when and where to put this "self" thing.
> > My book assumes that you're comfortable with the basics of OOP (and does
> > mention this in the first para of the Introduction), so it will be a bit
> > of a climb for you!
> I guess I am comfortable with OOP basics but I (like problably many
> Pythonistas) hardly ever use (in my case because my scripts are all
> less than one hundred lines of code).
One of Python's benefits is that it doesn't force the use of OOP.
But in my view, OOP makes GUI programming a lot easier.
> What I actually wanted to say is that I'm not sure whether I have
> problems with OOP but I definitely have a problem with "self".
> I've tried your and Michael's version
> ...works as well as
> while your...
> helpDialog = QtGui.QDialog(self)
> ...works only with "self".
Using self in this context is better practice. If you have a top-level
window in its own right then you don't need or want a parent (so don't
pass self); but for all other widgets and windows (including dialogs)
you should pass self. (See the Object Ownership sidebar on page 119 and
the first para on page 142.)
> Anyway, thanks a lot for the code completion and improvement...
That's okay; good luck with your program:-)
Mark Summerfield, Qtrac Ltd., www.qtrac.eu
More information about the PyQt