[pygtk] some more problems in moving a widget
Johan Dahlin
jdahlin at async.com.br
Thu Feb 16 19:21:03 WST 2006
> Traceback (most recent call last):
> File "ellipse-move.py", line 73, in do_size_request
> width, height = self._layout.get_size()
> AttributeError: 'PyGtkWidget' object has no attribute '_layout'
> TypeError: do_expose_event() takes exactly 3 arguments (2 given)
Two separate errors. The first one says that the _layout object is not
created.
In my example it's done in the constructor (should perhaps be in the
realize mehtod).
So when copy/pasting code, make sure to do it properly
The second error means that you changed the function declaration,
do_* methods are different from normal callbacks, they do not receive
the target
object as the first argument, instead the target object is self, so
instead of
def do_expose_event(self, window, event)
just do
def do_expose_event(self, event)
> i never faced this in the ellipse prototypes. There's another question
> around the same, why is it that one can only add one widget object
> onto a gtk drawing area ? i tried the following :
>
You can only add one widget per bin (a window is a bin subclass as the
error message says).
To add more widgets you need to use a container, such as a box or a table.
This is covered by the tutorial which I suggest that you read.
Johan
More information about the pygtk
mailing list