Pygtk - 如何从Treeview获取数据?

时间:2012-10-16 10:05:53

标签: xml pygtk gtktreeview

获取Treeview数据的方法是什么?

我有一些行,我想将数据保存在XML文件中,但我不知道如何保持行数据传递给XML函数创建者。

非常感谢!


感谢您的回复! 这里有一些代码:

def create_xml(self, path, model):
    from lxml import etree
    print len(model) #that's work
        self.model = self.treeview.get_model()

    if(len(model) > 0):
        root = etree.Element("lista_tareas")
        iter = self.model.get_iter_first()

        contatore = 1
        while iter:
            #from here doesn't work, 
            # 'gtk.ListStore' object has no attribute 'COL_DESCRIZIONE'
            descrizione_c = self.model.get_value(iter, self.model.COL_DESCRIZIONE) 
            data_limite_c = model.get_value(iter, COL_DATA_LIMITE)
            priorita_c =  model.get_value(iter, COL_PRIORITA)
            realizzato_c = model.get_value(iter, COL_REALIZZATO)
            root.append(etree.Element("tarea", _id = contatore, realizzato = realizzato_c, data_limite = data_limite_c, priorita = priorita_c))
            root.appendSubElement(tarea, "description")
            tarea.text = descrizione_c

            iter = model.iter_next(iter)
        outFile = open('homemade.xml', 'w')
        doc.write(outFile)

这是调用该功能的按钮:

self.save_button.connect("clicked", self.create_xml, self.model_add)

1 个答案:

答案 0 :(得分:0)

A)您可以轻松访问包含treeview treeview.get_model()数据的模型,并且可以轻松地迭代返回的对象。由于您没有提供任何代码,因此很难说明您需要做什么。在任何情况下。在stackoverflow上应该有关于如何使用treeviews和treemodel的许多示例。

B)然后你需要制作一个xml结构并保存出来,你可以使用etree(除其他外,但我发现它很容易使用)http://docs.python.org/library/xml.etree.elementtree.html#