在PyGObject中向树视图添加项目
我在Glade里创建了一个图形用户界面(GUI),现在想给树形视图(treeview)这个控件填充数据。以下是我代码中相关的部分:
def __init__(self):
.....
self.fill_store()
self.add_column(self.widget('treeview_preview'))
self.widget('treeview_preview').set_pixbuf_column(0)
def fill_store(self):
self.widget('liststore_preview').clear()
foo = GdkPixbuf.Pixbuf.new_from_file('9.png')
da = Gtk.Image.new_from_pixbuf(foo)
self.widget('liststore_preview').append([da])
def add_column(self, treeview):
renderer = Gtk.CellRendererPixbuf()
column = Gtk.TreeViewColumn("Preview", renderer, pixbuf = 0)
column.set_sort_column_id(0)
treeview.append_column(column)
但是,当我尝试运行这段代码时,出现了一个错误,提示我说“renderer没有定义”。出问题的那一行是:
column = Gtk.TreeViewColumn("Preview", renderer, pixbuf = 0)
有人能帮我指出错误吗?如果有帮助的话,这里是错误追踪信息:
Traceback (most recent call last):
File "test.py", line 10, in <module>
class test:
File "test.py", line 48, in test
column = Gtk.TreeViewColumn("Preview", r, pixbuf = 0)
NameError: name 'r' is not defined
谢谢,
v923z
1 个回答
1
你确定你没有写错字吗,比如这样?
>>> something = 1
>>> somthing # typo, left out 'e'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'somthing' is not defined