Как вызвать TreeView set_model () из другого модуля? - PullRequest
0 голосов
/ 27 ноября 2018

Я делаю GUI с PyGTK.Я застрял с обновлением содержимого в 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)
...