Event abbrechen

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Jochen Skulj
User
Beiträge: 9
Registriert: Samstag 5. März 2005, 18:57
Kontaktdaten:

Event abbrechen

Beitragvon Jochen Skulj » Mittwoch 26. März 2008, 22:57

Ich möchte einen Event quasi »abbrechen«. Wenn ich etwa einen Ok-Klick verarbeite, möchhte ich prüfen, ob die Felder richtig ausgefüllt sind und wenn das nicht der Fall ist, soll eine Fehlermeldung erscheinen und der Dialog offen bleiben.

Anzumerken ist, dass es sich um einen Dialog handelt, den ich etwa mit dlg.run() öffne.

Meine Callback-Methode sieht etwa so aus:


Code: Alles auswählen

   
def okButtonClicked(self, widget):
      """
      handles the signal of clicking th e OK-button
      Parameters:
         - widget: widget that emitted the signal
      """
      text = self._entryTitle.get_text()
      if text == None or len(text) == 0:
         self.showError(_("Title must be set."))


Ursprünglich bin ich davon ausgegangen, dass ich genau das erreichen kann, wenn ich True als Ergebnis der Callback-Funktion zurückgebe, aber das habe ich wohl falsch verstanden.

Kann mir jemand einen Tipp geben, wie ich die Verarbeitung eines Events in einem Dialog abbrechen kann oder aber vielleicht das Response-Ergebnis beinflussen kann?

Danke, Jochen
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Beitragvon Trundle » Mittwoch 26. März 2008, 23:34

Mit `emit_stop_by_name` kann man Signalausbreitung stoppen.
Jochen Skulj
User
Beiträge: 9
Registriert: Samstag 5. März 2005, 18:57
Kontaktdaten:

Beitragvon Jochen Skulj » Donnerstag 27. März 2008, 07:15

Vielen Dank, der Hinweis hat mir geholfen. Nach einigem Ausprobieren habe ich herausgefunden, dass man eine solche Prüfung besser im response-Signal abarbeiten kann, aber nun klappt es.

Danke, Jochen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder