pygtk treeview内容更新/刷新

时间:2014-05-02 12:49:50

标签: python sqlite treeview

我终于设法编写了一个从sqlite数据库中读取的小应用程序,并将结果显示在树视图中。另一种形式(在另一个模块中)提供了编写新记录或更新现有记录的能力。 写入数据库后,它会关闭窗口

我现在要做的是更新" main"窗口(包含树视图)以显示新数据集。到目前为止,我已经设法做到这一点,但是a)初始主窗口停留在那里,同时它的新实例打开,显示所需的(新)数据集。

我将如何使这项工作?有人可以给我建议/例子吗?

也许我需要说我的mainwindow模块的__init__函数在运行时执行所有操作:创建gui,从数据库读取并显示所有内容。我怀疑这可能是问题,但几乎任何组合将其分解成碎片(功能),我没有成功

- 编辑 -

好的我有很多不同的功能 __init__ 现在创建主gui,而其他人从数据库中读取数据并将其放在树视图上。

我尝试使用计时器,但此选项似乎不合适,因为 gtk.TreeView 没有这样的方法。

1 个答案:

答案 0 :(得分:5)

最后我设法解决了这个问题,所以我将这个答案发布到我自己的问题上以防有人发现它有用:

我所要做的只是.clear list_store,重建它并使用set_model到TreeView。

刷新功能如下:

liststore.clear()

create_model_checks() # re-create liststore

treeView.set_model(liststore)