Como implementar eventos alterados no objeto Entity Python / Rapidamente

1

Eu começo a desenvolver um aplicativo de teste para experimentar cliques de botão, alteração de título da janela e uso de outros widgets.

em objetos de botão, é fácil fazer o evento "clicado" para trabalhar, para a classe de janela e declarar on_button_clicked (...) e funciona, não é mais necessário.

def on_button1_clicked(self, button):
    print "Clicked Exit"
    Gtk.main_quit()

mas com o objeto Entry eu tento fazer algo parecido com o evento "alterado" sem sucesso. Alguém tem uma pista sobre como lidar com eventos neste um outro tipo de objeto (Entry, Comoboxtext, Radiobutton, etc) em Python / Quicly

Eu tentei algo assim, mas não funcionou

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

Qualquer um? muito obrigado pela sua ajuda.

    
por user72406 22.06.2012 / 00:46

1 resposta

1

Se você está começando com o PyGtk e Rapidamente, eu definitivamente recomendaria este tutorial , isso me ajudou muito.

Você está usando o Glade para o seu designer de gui? Se você não tiver, você teria que conectar os sinais manualmente, fazendo algo assim:

from gi.repository import Gtk

class Handlers:
    def on_button1_clicked(self,builder):
        print "Clicked 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())
window = builder.get_object("TestWindow")
window.show()
Gtk.main()

Mais sobre a conexão manual de manipuladores como este é encontrada aqui .

    
por unknownone 22.06.2012 / 01:42