Python 如何使用Glade和Gtk创建树景?

Python 如何使用Glade和Gtk创建树景?,python,treeview,gtk,glade,Python,Treeview,Gtk,Glade,我正在尝试与Glade和Gtk建立一个接口 在林间空地:我创建了一个名为liststore的liststore。我没有向该列表存储添加任何列。 然后我创建了一个名为treeview的treeview,并选择liststore作为该treeview的模型 这是我的代码: class CellRenderePartitions(Gtk.Box): self.liststore = builder.get_object('liststore') self.treeview = buil

我正在尝试与Glade和Gtk建立一个接口

在林间空地:我创建了一个名为liststore的liststore。我没有向该列表存储添加任何列。 然后我创建了一个名为treeview的treeview,并选择liststore作为该treeview的模型

这是我的代码:

class CellRenderePartitions(Gtk.Box):
    self.liststore = builder.get_object('liststore')
    self.treeview = builder.get_object('treeview')
    self.treeview.model = self.liststore

    media = Gtk.CellRendererText()
    col = Gtk.treeViewColumn("Media",media,text=1)
    col.set_sizing(Gtk.TreeViewColumnSizing.AUTOSIZE)
    col.set_expand(True)

    self.liststore.append(None)
我得到这个错误:

Gtk_CRITICAL**:Gtk_列表_存储_获取:断言列n_列'失败


我知道我的代码的最后一行导致了这个问题,但我不明白为什么,有人能帮忙吗?

你的答案在你自己的问题中。您的liststore中没有列,但向其中附加了一些数据。是的,追加一个
None
将被视为一个值,因此您需要一个列来存储它。

作为一个副词,你知道吗,你可以通过右键单击树状视图在Glade中设置渲染器?谢谢,我在列中添加了列和文本渲染器,现在我可以看到3列和一个空行。谢谢你的帮助,我解决了这个问题。我知道我有3列和一个空行。但是,如果我尝试使用self.liststore.append([“value1”、“value2”、“value3”])命令添加另一行,它只会添加另一个空行,我无法解释为什么..最终发现了我的错误。。为了能够看到文本,我必须编辑树视图,通过将“text”设置为适当的列来编辑CellRenderText属性和属性。