Treeview+Glade Problem

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
hangAround
User
Beiträge: 3
Registriert: Donnerstag 18. Dezember 2008, 17:16

Hallo,
ich habe versucht dieses Treeviewbeispiel http://www.pygtk.org/pygtk2tutorial/exa ... eeview.py/ auf ein mit Glade erstelltes Treeview anzuwenden. Mein Programm sieht wie folgt aus:

Code: Alles auswählen

import sys
try:
    import pygtk
    pygtk.require("2.0")
except:
    pass
try:
    import gtk, gobject
    import gtk.glade
except:
    sys.exit(1)
    
class appgui:
    def __init__(self):
        gladefile="test.glade"
        self.wTree=gtk.glade.XML (gladefile,"window1")
        self.dlg = self.wTree.get_widget("window1")
        self.dlg.show()

        self.treeview = self.wTree.get_widget("treeview1")
        self.treestore = gtk.TreeStore(str)
        
        for parent in range(5):
            piter = self.treestore.append(None, ['parent %i' % parent])
            for child in range(3):
                self.treestore.append(piter, ['child %i of parent %i' %
                                           (child, parent)])
      
        self.treeview.set_model(self.treestore)
        # create the TreeViewColumn to display the data
        self.tvcolumn = gtk.TreeViewColumn("Column 0")
        
        # add tvcolumn to treeview
        self.treeview.append_column(self.tvcolumn)
 
        # create a CellRendererText to render the data
        self.cell = gtk.CellRendererText()

        # add the cell to the tvcolumn and allow it to expand
        self.tvcolumn.pack_start(self.cell, True)

        # set the cell "text" attribute to column 0 - retrieve text
        # from that column in treestore
        self.tvcolumn.add_attribute(self.cell, 'text', 0)

        # make it searchable
        self.treeview.set_search_column(0)

        # Allow sorting on the column
        self.tvcolumn.set_sort_column_id(0)

app=appgui()
gtk.main()
Was soweit auch problemlos funktioniert, dh. das Programm wird ohne Probleme ausgeführt und funktioniert auch so wies es vorgesehen ist. Allerdings erhalte ich auf der Konsole folgene Meldung:

Code: Alles auswählen

./main.py 
./main.py:37: GtkWarning: A floating object was finalized. This means that someone
called g_object_unref() on an object that had only a floating
reference; the initial floating reference is not owned by anyone
and must be removed with g_object_ref_sink().
  self.treeview.append_column(self.tvcolumn)
Da ich ein Anfänger auf diesem Gebiet bin, weiß ich absolut nicht, wie ich diesen Fehler beheben kann. Ich wäre für jeden Tip sehr dankbar, denn zur Zeit bin ich absolut ratlos.

Mfg hangAround
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Ich kann den Fehler auf meinem System nicht reproduzieren.

Und irgendwer sollte mal das schreckliche Glade-Tutorial entfernen.
"Der Dumme erwartet viel. Der Denkende sagt wenig." ("Herr Keuner" -- Bertolt Brecht)
Antworten