Python and Glade: window not showing
Sven Arduwie
sven.arduwie at gmail.com
Sat May 30 14:29:41 EDT 2009
On 30 mei, 17:02, Sven Arduwie <sven.ardu... at gmail.com> wrote:
> Can anyone help a python newbie and tell me why the simple window I
> created in Glade is not showing?
>
> This is the XML generated by Glade 3:
> <?xml version="1.0"?>
> <interface>
> <requires lib="gtk+" version="2.16"/>
> <!-- interface-naming-policy project-wide -->
> <object class="GtkWindow" id="helloWorld">
> <property name="visible">True</property>
> <signal name="destroy" handler="on_helloWorld_destroy"/>
> <child>
> <placeholder/>
> </child>
> </object>
> </interface>
>
> And this is the Python code:
> #!/usr/bin/env python
>
> import pygtk
> pygtk.require("2.0")
> import gtk
>
> class HelloWorld(object):
> def getWindow(self):
> return self.window
>
> def setWindow(self, window):
> self.window = window
>
> window = property(getWindow, setWindow)
>
> def __init__(self):
> builder = gtk.Builder()
> builder.add_from_file("helloWorld.glade")
> builder.connect_signals({"on_helloWorld_destroy" :
> self.onHelloWorldDestroy})
> self.window = builder.get_object("helloWorld")
> self.window.show()
>
> def onHelloWorldDestroy(self):
> pass
>
> I ran this in a terminal on Ubuntu 9.04 like this:
> sven at Dell:~$ cd ./gvfs/python\ on\ sven/
> sven at Dell:~/gvfs/python on sven$ python ./helloWorld.py
> sven at Dell:~/gvfs/python on sven$
Okay I'm mad at myself for forgetting this:
if __name__ == "__main__":
helloWorld = HelloWorld()
gtk.main()
When I add that, a new problem arises: the terminal floods with:
File "./helloWorld.py", line 12, in setWindow
self.window = window
File "./helloWorld.py", line 12, in setWindow
self.window = window
File "./helloWorld.py", line 12, in setWindow
self.window = window
ad infinitum
More information about the Python-list
mailing list