如何使用 Glade 和 Gtk 创建 Treeview?

How to create a Treeview with Glade and Gtk?

我正在尝试使用 Glade 和 Gtk 构建接口。

在 Glade 中:我创建了一个名为 liststore 的列表存储。我没有向该列表存储添加任何列。 然后我创建了一个标记为 treeview 的树视图,我选择了 liststore 作为该树视图的模型。

这是我的代码:

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_list_store_get_vlue: 断言列 n_columns' 失败

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

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