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()
...