Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

aspiring python developer needs help sorting out gtk2 vs gtk3

So I've been learning python and over the last couple days playing with Glade3 on my Fedora16 box. Every time I try to run one of my python [or even C] apps (which use gtkbuilder to load a glade xml file), I get a warning like this:

cannot create instance of abstract (non-instantiatable) type 'GtkBox'

Thanks to google I've come to a pseudo-understanding of the situation. Glade v3.10 dropped support for GTK versions less than 3 and apparently GtkVBox, GtkHBox, GtkVButtonBox, & GtkHButtonBox from GTK2 were replaced with GtkBox & GtkButtonBox (w/properties to specify horizontal/vertical) in GTK3.

Solution? Apparently one can use the older Glade 3.8 or manually edit the 3.10-produced files.

But what about running my apps with GTK3? I don't even know where to start. All the examples I've seen for python are for GTK2, I think. Starting out with python GUI programming, with linux being the intended platform, what should I focus my energy on? I believe any system that has GNOME3 has GTK3, right? I assume all systems that have GTK3 will also have GTK2, right? For relatively simple programs is there any benefit to using GTK3 (and whatever the python bindings for it are)?

So really, I'm just looking for a little guidance on this whole GTK2 vs GTK3 thing. Thanks for reading.

aspiring python developer needs help sorting out gtk2 vs gtk3

So I've been learning python and over the last couple days playing with Glade3 on my Fedora16 box. Every time I try to run one of my python [or even C] apps (which use gtkbuilder to load a glade xml file), I get a warning like this:

cannot create instance of abstract (non-instantiatable) type 'GtkBox'

Thanks to google I've come to a pseudo-understanding of the situation. Glade v3.10 dropped support for GTK versions less than 3 and apparently GtkVBox, GtkHBox, GtkVButtonBox, & GtkHButtonBox from GTK2 were replaced with GtkBox & GtkButtonBox (w/properties to specify horizontal/vertical) in GTK3.

Solution? Apparently one can use the older Glade 3.8 or manually edit the 3.10-produced files.

But what about running my apps with GTK3? I don't even know where to start. All the examples I've seen for python are for GTK2, I think. Starting out with python GUI programming, with linux being the intended platform, what should I focus my energy on? I believe any system that has GNOME3 has GTK3, right? I assume all systems that have GTK3 will also have GTK2, right? For relatively simple programs is there any benefit to using GTK3 (and whatever the python bindings for it are)?

So really, I'm just looking for a little guidance on this whole GTK2 vs GTK3 thing. Thanks for reading.


EDIT: In the end I went with installing Glade 3.8 for now and sticking to GTK2, I guess. My app works beautifully, so for now, I'm happy with that route.