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

2024-04-25 08:36:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用PyGTK制作GUI。我一直在更新gtk.TreeView()中的内容,它是从json读取的。我想在json中添加一个新位置,并更新set_模型(新内容)。我将从三个位置更新文件(添加内容、删除内容、重命名内容)。所以,当在不同的模块中进行更改时,就会出现问题。不知道如何从另一个模块访问set_模型,因此当我更改内容时,gtk.scrolled窗口(它位于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)

Tags: 模块thefrom模型selfjsontree内容