[pygtk] Having problems using gtk.CellRendererCombo
John Wood
johwo077 at gmail.com
Mon Nov 6 01:04:42 WST 2006
Hello,
I'm having a hard time using a gtk.CellRendererCombo in my treeview
widget. The problem is that the combobox widget won't show. I've read
the pygtk reference a number times and the I get no errors executing
my code. I've created a small sample program which illustrates my
problem.
Any help is much appreciated, if someone can point me to a pygtk
program that uses gtk.CellRendererCombo that would be great.
John
#!/usr/bin/env python
import sys
try:
import pygtk
pygtk.require("2.6")
except:
pass
try:
import gtk
except:
sys.exit(1)
class CellRendererExample:
""" Main class of the application. """
def __init__(self):
# Create window and connect its destroy signal.
window = gtk.Window()
window.connect("destroy", gtk.main_quit)
# Create and add a treeview widget to the window.
self.treeview = gtk.TreeView()
window.add(self.treeview)
# Create a text column
column0 = gtk.TreeViewColumn("Text",
gtk.CellRendererText(),
text=0)
# Create a combobox column
cellcombo = gtk.CellRendererCombo()
model = gtk.ListStore(str)
for k in range(1,10):
model.append(["item_%d" % k])
cellcombo.set_property("model", model)
column1 = gtk.TreeViewColumn("Combobox", cellcombo)
column1.add_attribute(cellcombo, "text-column", 1)
self.treeview.append_column(column0)
self.treeview.append_column(column1)
# Create liststore.
liststore = gtk.ListStore(str, int)
# Append a couple of rows.
liststore.append(["Some text", 0])
liststore.append(["More text", 1])
# Set model.
self.treeview.set_model(liststore)
window.show_all()
def main(self):
gtk.main()
if __name__ == "__main__":
cre = CellRendererExample()
cre.main()
More information about the pygtk
mailing list