[PyGTK] Widget gibt keine Antwort mehr
![](https://secure.gravatar.com/avatar/30acadda452cc0da9975e0d47269fddd.jpg?s=120&d=mm&r=g)
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hallo! Ich habe folgendes Problem: Über ein Formular gibt man Daten ein, die durch Klick auf einen OK-Button abgeschickt werden. Dann wird anhand der Überschrift überprüft, ob ein Eintrag schon existiert. Existiert ein Eintrag mit der Überschift wird ein Hinweis-Dialog mit einem OK Button angezeigt. Ein klick auf den OK Button schließt die Warnung wie gewünscht. Wenn ich aber jetzt die Überschrift in dem Formular Widget ändere, und wieder auf OK zum eintragen klicke, tut sich nichts mehr, da das Widget schon ein Signal verschickt hat. Gebe ich beim ersten mal eine neue Überschrift auf, gibt ein Klick auf den OK-Button das gewünschte Signal zurück. Wie schaff ich das jetzt, dass ein weiterer Klick auf den OK-Button trotzden ein Signal zurückgibt. Aus der Klasse Dialog: <source> def form(self, parent, edit=False): self.tree_form = gtk.glade.XML("dict.glade", "dialog_form") self.widget_form = self.tree_form.get_widget("dialog_form") self.widget_form.set_transient_for(parent) #--- New - Entry ---# self.new_entry = self.tree_form.get_widget("new_entry") #--- New - TextView ---# self.buffer_new_textview = gtk.TextBuffer(None) self.tree_form.get_widget("new_textview").set_buffer(self.buffer_new_textview) if (edit): self.widget_form.set_title(u"Eintrag ändern") self.new_entry.set_text(edit) self.new_entry.set_editable(gtk.FALSE) text = DB.fetch_details(self, edit) self.buffer_new_textview.set_text(text[0]) return self.widget_form.run() def message(self, parent, title, image, message): self.tree_message = gtk.glade.XML("dict.glade", "dialog_message") self.widget_message = self.tree_message.get_widget("dialog_message") self.widget_message.set_transient_for(parent) #--- Message - Title ---# self.widget_message.set_title(title) #--- Message - Label ---# self.message_label = self.tree_message.get_widget("message_label") self.message_label.set_text(message) #--- Message - Image ---# self.message_image = self.tree_message.get_widget("message_image") if (image == None): self.message_image.destroy() else: self.message_image.set_from_stock(image, gtk.ICON_SIZE_DIALOG) return self.widget_message.run() </source> Aus der Hauptklasse (erbt Dialog Klasse): <source> def show_form(self): response = Dialog.form(self, self.widget_window) if (response == gtk.RESPONSE_OK): text = self.buffer_new_textview.get_text(self.buffer_new_textview.get_start_iter(), self.buffer_new_textview.get_end_iter()) title = self.new_entry.get_text() if (DB.entry_exists(self, title)): self.message(self.widget_window, u"Fehler", gtk.STOCK_DIALOG_ERROR, u"Eintrag bereits vorhanden") self.widget_message.destroy() else: DB.add(self, title, text) self.message(self.widget_window, u"Eintrag erfolgreich", gtk.STOCK_DIALOG_INFO, u"Eintrag erfolgreich") self.widget_message.destroy() self.widget_form.destroy() self.show_count() else: self.widget_form.destroy() </source> Gruß Sebastian Pölsterl -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFBSw/Q1ygZeJ3lLIcRAqxsAJ9IXt+n1kTlqeo92SAKB6BdsXb6IgCfSkHi ODYDQ1KqZMUOsulYHTmf6K8= =Tr+E -----END PGP SIGNATURE----- _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
participants (1)
-
"Sebastian \"Marduk\" Pölsterl"