[Python-de] Re: GTKs TreeView

Marcus Habermehl bmh1980de at yahoo.de
Sam Feb 21 14:11:12 CET 2004


Am Mo, 2004-02-16 um 21.07 schrieb Walter Haslbeck:
> Marcus Habermehl <bmh1980de at yahoo.de> wrote:
> 
> > Wie bekomme ich in so einem Fall die Einträge
> > 
> > [Zeile0-Spalte0]
> > [Zeile1-Spalte0] usw.
> 
> Mir ist nicht ganz klar was du willst. Trifft das folgende Programm in etwa
> deine Vorstellungen? (Es handelt sich um ein etwas modifiziertes list_store.py)

Ja, nur mit mehreren Spalten. Aber das habe ich sogar hinbekommen!!

Ich glaube, dass ich es _langsam_ verstehe. Ich maile mal meine
Erweiterungen. Ich denke aber, dass es richtig sein dürfte. Zumindest
funktioniert es.

def create_model():
    store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
    pipe1 = os.popen('rpm -qa --queryformat="%{Name}\n"')
    pipe2 = os.popen('rpm -qa --queryformat="%{Version}-%{Release}\n"')
    item1 = pipe1.readline()
    item2 = pipe2.readline()
    while item1:
        iter = store.append()
        store.set(iter, 0, item1)
        item1 = pipe1.readline()
        store.set(iter, 1, item2)
        item2 = pipe2.readline()
    pipe1.close()
    pipe2.close()
    return store
        
def add_columns(treeview):
    model = treeview.get_model()
    column1 = gtk.TreeViewColumn('Paket', gtk.CellRendererText(),
text=0)
    column2 = gtk.TreeViewColumn('Version', gtk.CellRendererText(),
text=1)
    treeview.append_column(column1)
    treeview.append_column(column2)

Gruß

Marcus