Aktualisierung nach Elementwahl aus Combobox

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
htw7448
User
Beiträge: 51
Registriert: Montag 16. April 2007, 10:59
Wohnort: Messel(Hessen)
Kontaktdaten:

Dienstag 3. Juli 2007, 15:24

Wie kann man Python dazu bewegen mir den aktuell gewählten Eintrag aus eine ComboBox zurückzugeben.

Eine Methode alá:

Code: Alles auswählen

	def changed_cb(self, combobox):
		model = combobox.get_model()
		index = combobox.get_active()
		sel_nr = model[index][0]
		return sel_nr
		print 'Print 0', sel_nr
in Verbindung mit

Code: Alles auswählen

gew_los = self.combo2.connect('changed', self.changed_cb)
arbeitet leider nicht richtig. die Variable gew_los wird bei Neuwahl eines Elementes aus der Combobox nicht aktualisiert :?: .
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Dienstag 3. Juli 2007, 17:22

gew_los wird nicht bei jedem Callback-Aufruf neu gesetzt, sondern wird auf den Rückgabewert von connect() gesetzt und der ist die ID des Handlers.
htw7448
User
Beiträge: 51
Registriert: Montag 16. April 2007, 10:59
Wohnort: Messel(Hessen)
Kontaktdaten:

Mittwoch 4. Juli 2007, 00:59

wie kann ich erreichen das ich immer den aktuellen Wert als Rückgabe bekomme? Die ID des Handlers ist da doch wenig hilfreich oder?
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Mittwoch 4. Juli 2007, 07:36

htw7448 hat geschrieben:wie kann ich erreichen das ich immer den aktuellen Wert als Rückgabe bekomme? Die ID des Handlers ist da doch wenig hilfreich oder?
In dem du gew_los im Callback setzt.

Code: Alles auswählen

def changed_cb(self, combobox):
    ...
    combobox.sel_nr = sel_nr
;)
PS: Das Print nach dem return ist reichlich sinnfrei :)
Antworten