PyGTK TreeView ListStore clear() 导致严重

问题描述

我正在编写一个包含 Gtk.TreeView 的 PyGTK 应用程序。此 TreeView 使用通过在 Gtk/ListStore 上调用 filter_new() 制作的过滤器。此过滤器是分配给 TreeView 的过滤器,用于自定义搜索系统。刷新 TreeView 的内容时,为了防止重复,我使用 ListStore 的 clear() 方法。这不是很顺利。刷新后,一个元素被添加到列表中,然后我看到这一串错误

(paddle.py:10751): Gtk-CRITICAL **: 18:09:01.370: gtk_tree_model_filter_get_value: assertion 'GTK_TREE_MODEL_FILTER (model)->priv->stamp == iter->stamp' Failed

(paddle.py:10751): Gtk-CRITICAL **: 18:09:01.370: gtk_tree_model_filter_get_path: assertion 'GTK_TREE_MODEL_FILTER (model)->priv->stamp == iter->stamp' Failed

(paddle.py:10751): Gtk-CRITICAL **: 18:09:01.370: gtk_tree_path_to_string: assertion 'path != NULL' Failed

(paddle.py:10751): Gtk-CRITICAL **: 18:09:01.371: gtk_tree_model_filter_iter_next: assertion 'GTK_TREE_MODEL_FILTER (model)->priv->stamp == iter->stamp' Failed

(paddle.py:10751): Gtk-CRITICAL **: 18:09:01.371: ../../../../gtk/gtktreeview.c:6908 (do_validate_rows): assertion `gtk_tree_model_iter_next (tree_view->priv->model,&iter)' Failed.
There is a disparity between the internal view of the GtkTreeView,and the GtkTreeModel.  This generally means that the model has changed
without letting the view kNow.  Any display from Now on is likely to
be incorrect.

错误explained here,但该人提供解决问题的代码。它似乎在 2002 年的 GNOME 邮件线程中也被引用了 here。有人知道如何在现代 gi/PyGTK 中解决这个问题吗?任何帮助将不胜感激!

谢谢蓝

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)