Jak ustawić ostrość dla widżetu Tkinter?
Mam prostą aplikację Python + Tkinter, która wyświetla listę 10 elementów:
import Tkinter, ttk
list = ttk.Treeview( Tkinter.Tk() )
list.pack( fill = Tkinter.BOTH, expand = 1 )
items = [ list.insert( '', 'end', text = str( i ) ) for i in range( 10 ) ]
list.selection_set( items[ 0 ] )
list.focus_set() # This is not working - list has no focus :(
Tkinter.mainloop()
Czy można go zmodyfikować, więc po uruchomieniu aplikacji lista będzie skupiona i mogę przesuwać zaznaczenie za pomocą strzałek w górę iw dół? Po uruchomieniu aplikacji okno aplikacji ma fokus, ale nie mogę przesunąć zaznaczenia za pomocą strzałek, dopóki nie kliknę na liście za pomocą myszy :(. Próbowałem różnych kombinacjifocus_set()
ifocus_force()
, ale to nie działa.
Sprawdzono w Pythonie 2.7 na Windows 7, OSX 10.7 i Ubuntu 12.04
AKTUALIZACJA
Jeśli „Widok drzewa” zostanie zmieniony na inny widżet, na przykład na „Przycisk”, fokus działa. Wygląda więc na to, że w jakiś sposób ustawiłem ostrość na Treeview niepoprawnie.