Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: PyGTK treestore  (gelezen 949 keer)

Offline MartijnB

  • Lid
    • http://www.mbastiaan.nl
PyGTK treestore
« Gepost op: 2009/06/10, 21:34:15 »
Hoi,

Ik heb even über-noob-vragen, maar ik zie even door de bomen het bos niet meer :(. Dit is mijn volledige code:
#!/usr/bin/python
import pygtk
pygtk.require('2.0')
import gtk
import gobject

class SetupX(object):
    def __init__(self):
        self.builder = gtk.Builder()
        self.builder.add_from_file("Wizard.glade")
       
        signals = { "on_assistant1_close" : self.quit,
                   "on_assistant1_cancel" : self.quit,
                   "on_chckVoorwaarden_toggled" : self.chckVoorwaarden_toggled }
        self.builder.connect_signals(signals)
        self.mainWindow = self.builder.get_object('assistant1')
       
        self.init_apparaten_tree()
   
    def main(self):
        gtk.main()
       
    def quit(self, widget):
        gtk.main_quit()
       
    def chckVoorwaarden_toggled(self, widget):
        chckVoorwaarden = self.builder.get_object('chckVoorwaarden')
        pagina1 = self.builder.get_object('vbox1')
       
        if chckVoorwaarden.get_active():
            self.mainWindow.set_page_complete(pagina1, True)
        else:
            self.mainWindow.set_page_complete(pagina1, False)
           
    def init_apparaten_tree_(self):
        self.__tree_columns = [addColumn(0, gobject.TYPE_PYOBJECT, "object", 0),
                               addColumn(1, gobject.TYPE_INT, "object_type", 1),
                               addColumn(2, gobject.TYPE_STRING, ("Naam"), 0, True, gtk.CellRendererText()),
                               ]
        tree_type_list = []
        self.__column_dict = {}
       
        self.apparaten_tree = self.builder.get_object("treeview1")
        for item_column in self.__tree_columns:
            self.__column_dict[item_column.ID] = item_column
            tree_type_list.append(item_column.type)
            if (item_column.visible):
                column = gtk.TreeViewColumn(item_column.name,
                                            item_column.cellrenderer,
                                            text=item_column.pos
                                            )
               
                column.set_resizable(False)
                column.set_sort_column_id(item_column.pos)
                self.apparaten_tree.append_column(column)
               
        self.tree = gtk.TreeStore(*tree_type_list)
        self.apparaten_tree.set_model(self.tree)       
             
class addColumn(object):
    """This is a class that represents a column in the todo tree.
    It is simply a helper class that makes it easier to inialize the
    tree."""

    def __init__(self, ID, type, name, pos, visible=False, cellrenderer = None):
        self.ID = ID
        self.type = type
        self.name = name
        self.pos = pos
        self.visible = visible
        self.cellrenderer = cellrenderer
        self.colour = 0

    def __str__(self):
        return "<todocolumn object: ID = %s type = %s name = %s pos = %d visible = %s cellrenderer = %s>" % (self.ID, self.type, self.name, self.pos, self.visible, self.cellrenderer)
   
if __name__ == "__main__":
    app = SetupX()
    app.main()

Hoe voeg ik nou een regel toe aan mijn TreeView? Als ik het goed begrijp moet ik een iter vinden en vervolgens data toevoegen. Ik heb vanalles geprobeerd, maar zoals ik al zei: Ik zie door de bomen het bos niet meer.

Is er iemand die de bomen nog ziet? ;)

Offline MataS

  • Lid
Re: PyGTK treestore
« Reactie #1 Gepost op: 2009/06/13, 11:55:40 »

Offline MartijnB

  • Lid
    • http://www.mbastiaan.nl
Re: PyGTK treestore
« Reactie #2 Gepost op: 2009/06/13, 13:50:09 »
Dat ga ik eens even doorlezen. Bedankt :)