如何从不同的模块调用TreeView set_model()?

时间:2018-11-27 16:18:13

标签: python user-interface treeview pygtk multi-window

我正在使用PyGTK制作GUI。我坚持更新gtk.TreeView()中的内容,该内容是从json读取的。我想在json中添加新位置并更新set_model(新内容)。我将从三个位置(添加内容,删除内容,重命名内容)更新文件。因此,在不同的模块中进行更改时会发生问题。不知道如何从另一个模块访问set_model,因此当我更改内容时,gtk.ScrolledWindow(放置在gtk.Window中)将显示更新的内容。我认为问题与自动刷新(计时器?)或迭代(忘记函数的名称)有关,但不确定。当整个程序在一个类中时,易于实现更改,但很难阅读,而现在(许多模块)则易于阅读,但难以维护。我将不胜感激。

更新:

class Catalogs(object):
    def _init_(self):
        self.the_tree = gtk.TreeView()
        <read from json>
        self.new_list.append(output from json)
        self.the_tree.set_model(self.new_list)
        print'new_list content will be printed but not displayed in window'
        self.window = gtk.ScrolledWindow()
        self.window.add(self.the_tree)

0 个答案:

没有答案