Combobox mit Einträgen füllen

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
Tobi_2006
User
Beiträge: 1
Registriert: Sonntag 7. Februar 2010, 23:05
Wohnort: Canterbury / UK

Hallo!
Als blutiger Anfänger habe ich mich daran gewagt, meine textbasierte Studentendatenbank auf eine grafische Oberfläche umzustellen und scheitere schon gleich am Anfang.
Ich habe mit Glade eine GUI erstellt und in selbiger eine Combobox namens "groups". Da möchte ich nun mit dem Pythonprogramm die Einträge aus einer Liste reinschreiben - aber aus irgendwelchen Gründen steht da nichts wenn ich das Programm starte.

Folgenden Code habe ich mir in langwieriger Kleinarbeit zusammengeklaut:

Code: Alles auswählen

#!/usr/bin/python

import pygtk
pygtk.require("2.0")
import gtk, gtk.glade
 
class mysdsgui:

    def __init__(self):
        builder = gtk.Builder()
        builder.add_from_file("gui.xml") 
        self.window = builder.get_object("window")
        self.groupselect = builder.get_object("groups")
        groups=gtk.ListStore(str)
        groups.append(["Choose Seminar Group"])
        for entry in grouplist:
            groups.append([entry])
        self.groupselect.set_model(groups)
        self.groupselect.set_active(0)

        builder.connect_signals(self)

    def on_groups_changed(self, box):
        model = box.get_model()
        index = box.get_active()
        if index:
            print model[index][0], 'selected'

    def on_window_destroy(self, widget, data=None):
        gtk.main_quit()
 
if __name__ == "__main__":
    grouplist = ['Group 1', 'Group 2','Group 6','Group 7']
    mysds = mysdsgui()
    mysds.window.show()
    gtk.main()

Die Lösung ist wahrscheinlich sehr trivial, aber irgendwie finde ich sie nicht. Wäre sehr dankbar über jede Hilfe!

Viele Grüße,
Tobi[/code]
Antworten