[Tutor PyCZ] polozka listbox

Pavel Kosina geon na post.cz
Čtvrtek Březen 22 19:57:07 CET 2007


Ondryska Jaromír napsal(a):
>> Myslím, že to je chyba nebo naše neznalost. Mě to taky nefunguje.
>> Dokonce jsem v překladu o tom od sebe našel i zmínku ;-)
>> Používej curselection() a jsi za vodou, ne?
>>
>>     
>
> Strašně rád bych používal curselection(), ale to taky nefunguje tak, jak  
> bych chtěl...
> Asi mám moc vysoké nároky :-)
>   

No jo, curselection to dělá úplně stejně špatně :-( Nakonec jsem na to 
ale přišel. Myslím že by to mělo jít jednak

* podle http://tkintercz.wz.cz/listbox.htm Pojetí - Command - Časovač
* nebo takto :
from Tkinter import *

class window:
    def __init__( self, frame ):
        self.listbox_1 = Listbox( frame, selectmode=SINGLE )
        self.listbox_1.grid( row=2, column=0, sticky=W+E+N+S, columnspan=3 )
        self.listbox_1.bind( "<1>", self.mouse_at_listbox_1 )

    def fill_listbox( self, array_of_video_items ):
        print "function fill_listbox, parameter is:", array_of_video_items
        self.listbox_1.delete( 0, END )
        for item in array_of_video_items:
              self.listbox_1.insert(END, item)

    def mouse_at_listbox_1( self, param ):
        souradnice="@"+str(param.x)+","+str(param.y)   
        print "mouse pressed at listbox: ",
        selected_item = self.listbox_1.get(souradnice)
        # selected_item = self.listbox_1.curselection()
        print selected_item
                 

root=Tk()
l=window(root)
l.fill_listbox(list("Python"))
mainloop()

Je to mírně upravený tvuj zdroj, ve kterém byxl jeden překled (chyba) a 
chybně odsazovaáno (míchání skutečných tabulátorů a mezerníků).


-- 
geon
Pavel Kosina



Další informace o konferenci Tutor