Python GTK +3:通过单击列对树视图进行排序

2023-12-26

我希望能够通过单击列来按列对树视图进行排序。我只是使用从文档中获取的流行示例作为参考(https://python-gtk-3-tutorial.readthedocs.io/en/latest/treeview.html https://python-gtk-3-tutorial.readthedocs.io/en/latest/treeview.html):

        self.treeview = Gtk.TreeView.new_with_model(self.filter)
        for i, column_title in enumerate(["one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve"]):
            renderer = Gtk.CellRendererText()
            column = Gtk.TreeViewColumn(column_title, renderer, text=i)
            self.treeview.append_column(column)
            column.set_sort_column_id(i)

除非我收到错误:

(test.py:26081):Gtk-CRITICAL **:12:35:03.856:gtk_tree_sortable_get_sort_column_id:断言“GTK_IS_TREE_SORTABLE(可排序)”失败

(test.py:26081):Gtk-CRITICAL **:12:35:03.856:gtk_tree_sortable_has_default_sort_func:断言“GTK_IS_TREE_SORTABLE(可排序)”失败

(test.py:26081):Gtk-CRITICAL **:12:35:03.856:gtk_tree_sortable_set_sort_column_id:断言“GTK_IS_TREE_SORTABLE(可排序)”失败


在...的帮助下这个帖子 https://stackoverflow.com/questions/12368059/a-sorted-and-filtered-treemodel-in-python-gtk3,我想到了一个办法。

编辑以下行:

self.treeview = Gtk.TreeView.new_with_model(self.filter)

in

self.treeview = Gtk.TreeView.new_with_model(Gtk.TreeModelSort(self.filter))

并且应该有效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python GTK +3:通过单击列对树视图进行排序 的相关文章

随机推荐