Difference between revisions of "PyGTK"
(→Toplevels) |
(→Control and Display) |
||
| Line 57: | Line 57: | ||
***On the Hierarchy tab, click add to insert a Cell Renderer. Name it whatever. | ***On the Hierarchy tab, click add to insert a Cell Renderer. Name it whatever. | ||
***Set the Text property to the column you want displayed from the ListStore | ***Set the Text property to the column you want displayed from the ListStore | ||
| − | | <source lang="python">builder.get_object('comboboxname')</source> | + | | <source lang="python">cb = builder.get_object('comboboxname') |
| + | activeiter = cb.get_active_iter()</source> | ||
| + | |- | ||
| + | | Treeview | ||
| + | (ListStore) | ||
| + | | | ||
| + | *Place inside a viewport to give it a nice-looking border | ||
| + | *Set TreeView Model to a ListStore or TreeStore. Add at least one column to the Store | ||
| + | *Right-click>edit the TreeView and add at least one column on the Hierarchy tab | ||
| + | **Right-click each column in the Hierarch list and "Add child text", for text at least | ||
| + | ***Set the Text property of the child text to the | ||
|} | |} | ||
Revision as of 04:04, 14 June 2013
PyGTK is loads better than TKinter. There are far more events to work with which let you make a more responsive, convenient, and concise interface.
I am using Glade to create the gui. pygtk is well documented; glade is not.
For starters, supposedly you should use the GtkBuilder file format over Libglade. Many instructions on the web are for Libglade.
Contents
Loading a glade file, hooking up event handlers, and displaying a window
#Load the file
import gtk
gladefile = 'app.glade'
builder = gtk.Builder()
builder.add_from_file(gladefile)
#Connect callback handlers
handlers = {}
handlers['button_clicked_cb'] = buttonclickedfunction
builder.connect_signals(handlers)
#Display the window
window = builder.get_object('mainwindow')
window.show_all()But first you have to create the glade file. Create a window and divide it with boxes and then put widgets in each panel and widgets within those widgets as needed.
Actions
What are actions for? Do they let me configure a button to launch a file dialog?
Toplevels
| widget | glade | python |
|---|---|---|
| Window | Make an empty window | window = builder.get_object('windowname')
window.show_all() |
| FileChooserDialog |
|
??? |
Control and Display
| widget | glade | python |
|---|---|---|
| ComboBox |
|
cb = builder.get_object('comboboxname')
activeiter = cb.get_active_iter() |
| Treeview
(ListStore) |
|