Auswahlbox

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
Wh1sper
User
Beiträge: 16
Registriert: Dienstag 5. August 2008, 09:31
Kontaktdaten:

Sorry, wenn ich noch eine Frage habe.
Bitte verschieben, wenn hier falsch.
Ich suche sowas, möglichst in gtl/Glade
Wie so eine Box heisst fällt mir nicht ein, schon gar nicht in englisch.

Bild

Geht sowas in der art?
Benutzeravatar
Klip
User
Beiträge: 98
Registriert: Donnerstag 10. August 2006, 20:39

Das dürfte eine Listbox sein.
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

O weia, bei Cocktails auf Promille zu schließen kann aber böse ins Auge gehen, wenn der Barkeeper es "gut" mit dir meint...
Wh1sper
User
Beiträge: 16
Registriert: Dienstag 5. August 2008, 09:31
Kontaktdaten:

@mkallas: war nur ein Beispiel.
@all: Das heisst also selber basteln ist angesagt?!
Weil in Glade so viele komplett fertige Sachen sind dachte ich, ich frage mal.
Und für mein Attribut Problem weiter unten hat niemand eine Erklärung?
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Mit einem TreeView gehts bestimmt.
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Wh1sper
User
Beiträge: 16
Registriert: Dienstag 5. August 2008, 09:31
Kontaktdaten:

Danke, treeview scheint die Lösung zu sein, diese Combobox kann man ja nicht dazu missbrauchen.
Mit treeview habe nun aber keine Möglichkeit gefunden Einträge anzulegen.
Müßte es nicht sowas wie insert_row oder so geben?
Mein Treeview hat bereits das model ListStore

Meine combobox sieht so aus:

Code: Alles auswählen

    def allezutaten(self,widget):
        self.allezutaten = self.wTree.get_widget("combobox1")
        # Befüllung aus den vorhandenen Zutaten
        #Es werden nur die Namen der Zutaten ausgewählt
        for zutat in  session.query(zutaten.c.Name).distinct():
            self.allezutaten.append_text(zutat[0])
Bei dem treeview so:

Code: Alles auswählen

    def rezeptzutaten(self,widget):
        self.liststore = gtk.ListStore(int, str, str)
        self.rezeptzutaten = self.wTree.get_widget("treeview1")
        self.rezeptzutaten.set_model(self.liststore)
        renderer = gtk.CellRendererText()
        col1 = gtk.TreeViewColumn("Anzahl", renderer, text=0)
        col2 = gtk.TreeViewColumn("Einheit", renderer, text=1)
        col3 = gtk.TreeViewColumn("Zutat", renderer, text=2)
        self.rezeptzutaten.append_column(col1)
        self.rezeptzutaten.append_column(col2)
        self.rezeptzutaten.append_column(col3)
Nun, die Spalten sind schon mal gar nicht schlecht, aber wie bekomme ich den Inhalt rein?
Aus der gtk doku im Glade werde ich nicht fündig und die ansonsten hilfreiche FAQ
http://faq.pygtk.org/index.py?req=all#13.1
sagt darüber auch nichts...
(oder bin ich blind)
Wäre nett, wenn mir jemand noch mal einen kleinen Schubs geben könnte...
Ps: das hier ist hobby, keine Hausaufgabe :)
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

``gtk.ListStore``-Objekte haben eine ``append``-Methode, mit der man neue Zeilen hinzufügen kann. Im konkreten Fall also beispielsweise ``self.liststore.append([5, u'Esslöffel', 'Zucker'])``.
"Der Dumme erwartet viel. Der Denkende sagt wenig." ("Herr Keuner" -- Bertolt Brecht)
Wh1sper
User
Beiträge: 16
Registriert: Dienstag 5. August 2008, 09:31
Kontaktdaten:

Super, das wars.. Na, dann kann ich ja jetzt mal so langsam ans Programmieren denken...
Antworten