Seite 1 von 1

Wie kann man ein Redraw einer ComboBox erzwingen?

Verfasst: Samstag 9. Juni 2012, 21:21
von framp
In meinem GUI sollen abhängig von gewählten RadioButtons unterschiedliche Inhalte in einer Combo Box angezeigt werden. Das Ändern der Combobox Inhalte funktioniert gut. Wenn ich in der ComboBox etwas selektiere sehe ich immer die jeweils richtigen Inhalte. Leider schaffe ich es nicht, dass nach dem Ändern der RadioButton (und dem Ändern des ComboBoxInhaltes) dieser geänderte Inhalt sofort auch im GUI angezeigt wird.
Anbei der Code der beim Ändern eines RadioButtons augeführt wird:

Code: Alles auswählen

   def wiredButtonSelected(self,widget, data=None):
        if widget.get_active():
            self.glade.get_object("ssidHbox").set_sensitive(False)
        self.connectionWireless=not widget.get_active()
        self.connectionType=1
        model=self.initializeTopology()                     # fill combo box with contents
        self.topologyCombo.set_model(model)
        self.executionCombo.set_active(0)
# now redraw changed combo box
        self.topologyCombo.queue_resize() # does not work
        self.topologyCombo.queue_draw() # dows not work
        while gtk.events_pending():
            gtk.mainiteration()
Weiss jemand wie ich den ComboBox Redraw erzwingen kann?

Re: Wie kann man ein Redraw einer ComboBox erzwingen?

Verfasst: Sonntag 10. Juni 2012, 20:21
von framp
Habe das Problem mal runterstrippt um den Code hier zu posten - und dabei den Weg gefunden, wie es geht. Ist einfach ein kleiner Typo :-(

Code: Alles auswählen

self.topologyCombo.set_model(model)
self.executionCombo.set_active(0)
muss

Code: Alles auswählen

self.topologyCombo.set_model(model)
self.topologyCombo.set_active(0)
sein und dann funktioniert der GUI Update ...