Nieuws:

We zijn er weer.

Na lange tijd van afwezigheid zijn we er weer  :laugh:
We hebben alle wachtwoorden gereset, je oude wachtwoord werkt niet meer.Je moet via het "wachtwoord vergeten"-linkje je wachtwoord resetten. Je krijgt hiervoor een mailtje op het adres dat je bij ons geregistreerd hebt.

De komende tijd zijn we nog druk bezig om de rest van de site op te bouwen, dus het kan zijn dat sommige onderdelen (tijdelijk) niet werken.

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

Auteur Topic: PyGTK treestore  (gelezen 676 keer)

Offline MartijnB

  • Lid
    • http://www.mbastiaan.nl
  • Steunpunt: Nee
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
  • Steunpunt: Nee
Re: PyGTK treestore
« Reactie #1 Gepost op: 2009/06/13, 11:55:40 »

Offline MartijnB

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