up with PyGUI!
OKB (not okblacke)
brenNOSPAMbarn at NObrenSPAMbarn.net
Sat Sep 25 15:47:59 EDT 2004
Ed Leafe wrote:
> There is also nothing to prevent you from writing that button as a
> class definition (although I have a personal dislike of a 'class'
> being used for an instance). Something like:
>
> class MainForm(dabo.ui.dForm):
> def __init__(self, parent=None):
> class btn1(ButtonDescription):
> Size = (40, 40)
> Caption = "b1"
> self.addObject(btn1, "b1")
>
> To my eye, that's a lot uglier than writing it as it is:
> instance
> coding. Dressing it up as a class in order to save typing 'self'
> isn't justified, IMO.
Well, I see what you mean, but conversely, even in the example you
gave above, it seems to me that the "def __init__" is (or should be)
superfluous. The very fact that you are defining a button inside a
panel clearly indicates that you want the button to be added to the
panel. Restating this information repeatedly with an __init__ and self
references and explicit "add" methods is cumbersome.
Admittedly, the need to use the word "class" is unfortunate, but I
prefer to simply ignore that little keyword in the definition. That is,
what about this:
frame:
panel:
button1:
caption = "One"
button2:
caption = "Two"
I think the indentation here clearly indicates the intended nesting
structure of the GUI layout. Python requires me to use the word "class"
before each component to get a valid syntactical construct, but I find
it much easier to put single keyword ahead of each GUI object definition
than to wade through a series of method definitions to extract
information about how the components are structured inside one another.
--
--OKB (not okblacke)
Brendan Barnwell
"Do not follow where the path may lead. Go, instead, where there is
no path, and leave a trail."
--author unknown
More information about the Python-list
mailing list