[pygtk] pygobject documentation ?

Timo timomlists at gmail.com
Wed Jan 11 01:54:07 WST 2012


Op 10-01-12 15:42, Jérôme schreef:
> Hi all.
>
> I started python and pygtk recently (a few weeks).
>
> For that I used
>
> Python 2.7 documentation
> http://docs.python.org/
>
> python GTK2.0 tutorial
> http://pygtk.org/pygtk2tutorial/index.html
>
> Then, I decided to switch to pygobject. Two reasons for that :
>
> * The advice on pygtk.org : "New users wishing to develop Python applications
>    using GTK+ are recommended to use the GObject-Introspection features
>    available in PyGObject."
>
> * The fact that glade, that I wanted to use as well, now (from version 3.10)
>    only supports GTK3 (or so I understand).
>
> The resources I use are now referenced here : https://live.gnome.org/PyGObject
>
> * The tutorial :
>    http://readthedocs.org/docs/python-gtk-3-tutorial/en/latest/index.html
>
> * A partial doc I don't really use :
>    http://people.gnome.org/~johnp/girdocsalpha/Gtk/
>
> * Examples I just discovered :
>    http://developer.gnome.org/gnome-devel-demos/stable/
>
> The most annoying is that I often find myself having to deal with the GTK3
> reference manual : http://developer.gnome.org/gtk3/stable/ and guess what the
> python code corresponding to the C code can be.
>
> Some adaptations are trivial, like from
>
> void                gtk_window_set_title                (GtkWindow *window,
>                                                           const gchar *title);
>
> to
>
> Gtk.Window.window.set_title(string)
>
> But it is sometimes hard to just guess the name of python constants from C
> constants.
>
> Like from GTK_WINDOW_POPUP to Gtk.WindowType.POPUP, for instance.
Constants are actually pretty easy once you understand how they are 
mapped to Python.
Have a look at the C docs page for all enumerations: 
http://developer.gnome.org/gtk3/stable/gtk3-Standard-Enumerations.html
Let's start at the top of these for convenience sake:
GTK_ACCEL_MASK from GtkAccelFlags becomes Gtk.AccelFlags.MASK
GTK_ARROWS_BOTH from GtkArrowPlacement becomes Gtk.ArrowPlacement.BOTH
GTK_ARROW_UP from GtkArrowType becomes Gtk.ArrowType.UP

You will notice a pattern: take the enumeration name, split the Gtk part 
and rest with a dot, then leave out GTK_*_ part from the types and 
append them to the previously splitted name.

This approach always worked for me till now.

Cheers,
Timo


More information about the pygtk mailing list