[Tutor PyCZ] polozka listbox
Jakub Vojáček
Jakohv na seznam.cz
Čtvrtek Březen 22 10:48:17 CET 2007
> ------------ Původní zpráva ------------
> Od: Ondryska Jaromír <ondryskajaromir na seznam.cz>
> Předmět: Re: [Tutor PyCZ] polozka listbox
> Datum: 22.3.2007 05:50:10
> ----------------------------------------
> On Wed, 21 Mar 2007 17:47:01 +0100, Pavel Kosina <geon na post.cz> wrote:
>
> > Ondryska Jaromír napsal(a):
> >> Jak docílit toho, aby mi
> >> get( ANCHOR ) dávalo
> >> aktuálně označenou položku?
> >>
> >
> > Ukaž kod (demo) nebo se koukni na http://tkintercz.wz.cz/listbox.htm.
> >
>
> Zdravím,
> z http://tkintercz.wz.cz/listbox.htm vycházím, je to moje referenční
> příručka.
> Kód:
> 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.path_to_video )
>
> def mouse_at_listbox_1( self, param ):
> print "mouse pressed at listbox"
> #selected_item = self.listbox_1.get( ANCHOR )
> selected_item = self.listbox_1.curselection()
> print selected_item
>
Nejlehčí je použíd double klik:
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( "<Double-1>", self.mouse_at_listbox_1 )
for prvek in ["skladba 1","skladba 2","skladba 3"]:
self.listbox_1.insert(END,prvek)
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.path_to_video )
def mouse_at_listbox_1( self, param ):
print "mouse pressed at listbox"
#selected_item = self.listbox_1.get( ANCHOR )
selected_item = self.listbox_1.get(self.listbox_1.curselection()[0])
print selected_item
if __name__ == "__main__":
okno=Tk()
window(okno)
mainloop()
Blujacker
Další informace o konferenci Tutor