python - 在 PyGObject 中将项目添加到 TreeView

标签 python gtk glade pygobject gtktreeview

我在 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)

然而,当我尝试运行代码时,出现错误,提示我未定义渲染器。违规行是

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

最佳答案

你确定你没有这样的错字吗?

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

关于python - 在 PyGObject 中将项目添加到 TreeView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8071832/

相关文章:

php - 从 PHP 发送命令到正在运行的 Python 脚本

Python 卡在 Selenium webdriver.Chrome()

c - GtkAlignment 一次只能包含一个小部件

python - 使用 python -m 的 sys.argv 行为

python - 如何更改 POST 请求中的 JSON 响应结果 | DRF?

gcc - 为什么 GCC 提示 'sizeof' 之前缺少不存在的标识符?

c++ - GTK+ 适用于所有平台的相同 UI 主题

c++ - GTK+ CellRendererCombo Pass 关于 signal_edited 的更多信息

c - 当我使用 pthread 时,新窗口不会打开

pygtk - 将 glade 与 pygobject Gtk3 一起使用