Python 动态更改gtkListStore模型

Python 动态更改gtkListStore模型,python,pygtk,Python,Pygtk,所以我终于了解了PyGTK是如何工作的,我正在开发一个简单的SQLite manager应用程序 为了显示查询结果,我使用了带有gtk.TreeView的gtk.scrolled窗口。我已经根据需要在ListStore对象中添加甚至更改了值,但我不能做的是更改ListStore对象的模型 例如,在一个查询中,我可能有两列结果: self.query_results = gtk.ListStore(str,str) self.query_results.append(["1"],[

所以我终于了解了PyGTK是如何工作的,我正在开发一个简单的SQLite manager应用程序

为了显示查询结果,我使用了带有gtk.TreeView的gtk.scrolled窗口。我已经根据需要在ListStore对象中添加甚至更改了值,但我不能做的是更改ListStore对象的模型

例如,在一个查询中,我可能有两列结果:

    self.query_results = gtk.ListStore(str,str)
    self.query_results.append(["1"],["John Doe"])
在另一篇文章中,我可能会看到更多的专栏:

    self.query_results = gtk.ListStore(str,str,str,str)
    self.query_results.append(["20"],["Jane"],["jane@example.com"],["password"])
我知道我可以用像这样的东西

     self.query_results = gtk.ListStore(*[str]*len(columns))
但是,gtk.ListStore在创建后不能更改它的模型,所以如何更新此查询表?每次运行不同的查询时,是否需要销毁树视图并再次绘制它


谢谢,这是我关于StackOverflow的第一个问题,请原谅我没有遵循的任何错误/发布准则。

您可以使用它将新模型分配给TreeView。因此,您可以为每组结果生成一个新模型,然后设置树视图以显示该模型。

您可以使用将新模型分配给树视图。因此,您可以为每一组结果生成一个新模型,然后设置树视图以显示该模型。

奇怪的是,我在2分钟前就发现了这一点,并使其正常工作。谢谢你的帮助,这正是我正在做的。别忘了提交答案。(勾选左边的勾号)奇怪的是,我在2分钟前就发现了这一点,并让它工作起来。谢谢你的帮助,这正是我正在做的。别忘了提交答案。(勾选左侧的勾号)签出-它已经完成了您想要的操作,并且有一个与基础数据库直接通信的ListStore接口。签出-它已经完成了您想要的操作,并且有一个与基础数据库直接通信的ListStore接口。