добавление элементов в дерево в PyGObject - PullRequest
2 голосов
/ 10 ноября 2011

У меня есть графический интерфейс, созданный в Glade, и я хотел бы заполнить виджет дерева. Вот соответствующая часть моего кода

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)

Тем не менее, когда я пытаюсь запустить код, я получаю сообщение об ошибке, которое сообщает мне, что средство визуализации не определено. Оскорбительная строка

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 голос
/ 10 ноября 2011

Вы уверены, что у вас нет такой опечатки?

>>> something = 1
>>> somthing    # typo, left out 'e'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'somthing' is not defined
...