1 votes

Comment implémenter l'événement changed sur un objet Entity en Python/Quickly

Je commence à développer une application de test pour expérimenter les clics sur les boutons, le changement du titre de la fenêtre et l'utilisation d'autres widgets.

Sur les objets bouton, il est facile de faire fonctionner l'événement "clic", dans la classe de fenêtre et de déclarer on_button_clicked(...) et ça marche, plus besoin de rien d'autre.

def on_button1_clicked(self, button):
    print "Clic sur Quitter"
    Gtk.main_quit()

mais avec l'objet Entry, j'essaye de faire quelque chose de similaire à l'événement "changement" sans succès. Est-ce que quelqu'un a une idée sur la façon de gérer les événements sur ce type d'objet et d'autres types d'objets (Entry, Comoboxtext, Radiobutton, etc) sur Python/Quicly

J'ai essayé quelque chose comme ceci mais ça n'a pas fonctionné

def on_entry1_changed(self, entry):
    self.ui.prototipo1_window.set_title(self.ui.entry1.get_text())

Quelqu'un ? merci beaucoup pour votre aide.

1voto

unknownone Points 428

Si vous débutez avec PyGtk et Quickly, je recommanderais certainement ce tutoriel, il m'a beaucoup aidé.

Utilisez-vous Glade pour votre concepteur d'interface graphique? Si ce n'est pas le cas, vous devrez connecter les signaux manuellement en faisant quelque chose comme ceci:

depuis gi.repository import Gtk

classe Handlers:
    def on_button1_clicked(self, builder):
        print "Cliqué sur Exit"
        Gtk.main_quit()

    def on_entry1_changed(self, builder):
        entry = self.builder.get_object("entry1")
        self.builder.get_object("TestWindow").set_title(entry.get_text())

builder = Gtk.Builder()
builder.add_from_file("example.ui")
builder.connect_signals(Handlers())
fenetre = builder.get_object("TestWindow")
fenetre.show()
Gtk.main()

Plus d'informations sur la connexion manuelle des gestionnaires comme ceci se trouvent ici.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X