O evento Python Gtk ignora

1

Gostaria de ignorar alguns eventos importantes em uma exibição de texto. Agora, faço o seguinte

def on_key_press_event(self,source,event):
    keyname = Gdk.keyval_name(event.keyval)
    if(keyname=="Return"):
            tv = self.builder.get_object('txtMsg')
            buf = tv.get_buffer()
            msg = buf.get_text(buf.get_start_iter(),buf.get_end_iter(),self)
            msg=msg.replace("\n","")
            buf.set_text(msg)

Existe alguma função equivalente à função Java event.consume () em python?

    
por Vishnu V 06.07.2012 / 18:33

1 resposta

3

Para impedir que um evento se propague (a menos que o evento tenha sido configurado usando connect_after ), você pode executar

object.emit_stop_by_name(event_name)

Por exemplo, se eu conectei o evento key-press como este:

self.textview.connect("key-press-event", self.on_key_press)

Eu posso parar de propagá-lo assim:

def on_key_press(self, widget, event):
    self.textview.emit_stop_by_name("key-press-event")
    
por Stefano Palazzo 06.07.2012 / 19:19