gtk.ListStore().clear() funktioniert nicht
Verfasst: Sonntag 15. Mai 2005, 23:55
Hallo.
Bisher habe ich nur mit Skripten gearbeitet, in denen einfach mit def diverse Funktionen definiert wurden.
Da hat folgendes immer geklappt.
Jetzt, der neue Code funktioniert nicht.
Kann mir jemand erklären warum? Ich kann einfach keinen Grund finden. Zumald der Rest von refresh() ausgeführt wird. Nur hab ich dann halt doppelte Einträge in meinem ListView. Oder halt mehr, wenn öfter aktuallisiert wird.
Bisher habe ich nur mit Skripten gearbeitet, in denen einfach mit def diverse Funktionen definiert wurden.
Da hat folgendes immer geklappt.
Code: Alles auswählen
def main_window():
global treeview1, liststore1
...
liststore1 = gtk.ListStore(str, str, str)
treeview1 = tree.get_widget('treeview1')
treeview1.set_model(liststore1)
cellrenderer1 = gtk.CellRendererText()
treeviewcolumn1 = gtk.TreeViewColumn()
treeviewcolumn1.pack_start(cellrenderer1)
treeviewcolumn1.add_attribute(cellrenderer1, 'text', 0)
treeviewcolumn2 = gtk.TreeViewColumn()
treeviewcolumn2.pack_start(cellrenderer1)
treeviewcolumn2.add_attribute(cellrenderer1, 'text', 1)
treeviewcolumn3 = gtk.TreeViewColumn()
treeviewcolumn3.pack_start(cellrenderer1)
treeviewcolumn3.add_attribute(cellrenderer1, 'text', 1)
for column in [treeviewcolumn1, treeviewcolumn2, treeviewcolumn3]:
treeview1.append_column(column)
...
def refresh(*args):
liststore1.clear()
...
Code: Alles auswählen
class MainWindow:
def __init__(self):
...
self.liststore1 = gtk.ListStore(str, str, str)
self.treeview1 = tree.get_widget('treeview1')
self.treeview1.set_model(self.liststore1)
cellrenderer1 = gtk.CellRendererText()
treeviewcolumn1 = gtk.TreeViewColumn()
treeviewcolumn1.pack_start(cellrenderer1)
treeviewcolumn1.add_attribute(cellrenderer1, 'text', 0)
treeviewcolumn2 = gtk.TreeViewColumn()
treeviewcolumn2.pack_start(cellrenderer1)
treeviewcolumn2.add_attribute(cellrenderer2, 'text', 1)
treeviewcolumn3 = gtk.TreeViewColumn()
treeviewcolumn3.pack_start(cellrenderer1)
treeviewcolumn3.add_attribute(cellrenderer3, 'text', 2)
for column in [treeviewcolumn1, treeviewcolumn2, treeviewcolumn3]:
self.treeview1.append_column(column)
...
def refresh(self):
self.liststore1.clear()
...