[python] PyGTK
Ivo Stolpa
pussa na pussa.cz
Pátek Září 3 17:14:29 CEST 2004
Ing. Ivo Štolpa napsal(a):
> Zdravím hadi,
>
> v PyGTK pro GTK++2.4 je u gtk.TextView metoda set_accepts_tab, která
> umožní klávesou tab přejít na následující widget v pořadí místo
> vložení tabelátoru do textu. Nevíte někdo čirou náhodou (nebo
> důkladným studiem) jak téhož dosáhnout v PyGTK pro GTK++2.2?
>
> díky Ivo
>
Tak jsem na to nakonec přišel sám. Stačilo ošetřit událost
"key_press_event". Což znamená v __init__ dopsat:
self.connect("key_press_event", self.key_pres_event)
a pak výše uvedenou metodu přidat. Může vypadat nějak takto:
def key_press_event(self, widget, event):
if event.keyval == gtk.keysyms.Tab:
widget.emit_stop_by_name("key_press_event")
Tím dojde po stisku klávesy Tab k ukončení události, čímž se do textview
nepřidá tabelátor. Naopak se tím pádem provede standardní akce daná
každému widgetu do vínku a to kýžený přechod na následující widget.
Ještě že po skušenostech z Delphi jsem si i v Pythonu nejdříve oddědil
pro každý widget, který používám, svou vlastní třídu. Tím pádem jsem
upravil jen tu mou třídu MyTextView.
Třeba je mezi pytoňákama ještě někdo, kdo používá GTK. A taky považuji
za slušné zodpovědět dotaz, když znám řešení. I když v tomto případě
odpovídám sám sobě.
Ivo
--
Ing. Ivo Štolpa
***********************************************
PUSSA software, Žižkova 13, 58601 Jihlava
e-mail: pussa na pussa.cz, ivo.stolpa na seznam.cz
stránky: http://www.pussa.cz
mobilní telefon: 602 735 124
pevná linka: 567 320 386
fax: 602 783 071
***********************************************
Další informace o konferenci Python