Seite 1 von 1

Listboxen -> Doppelklick

Verfasst: Dienstag 3. Januar 2006, 15:31
von steffi
hi
erstmal die generelle frage: wie lässt sich bei tkinter-objekten die genau postion (x,-y) festlegen?
dann zum eigentlichen problem:
wie kann man ein doppelklick ereignis festlegen?
Danke

Verfasst: Dienstag 3. Januar 2006, 15:53
von mawe
Hi!

Code: Alles auswählen

from Tkinter import *

def doppelt(event):
    b.configure(text="Danke!")

root=Tk()
b = Button(text="Klick mich doppelt!")
b.place(x=20,y=100)
b.bind("<Double-Button-1>", doppelt)
root.mainloop()
Aber was hat das mit Listboxen zu tun? ;)

PS: Ich liebe das neue Highlighting :)

Gruß, mawe

Verfasst: Dienstag 3. Januar 2006, 16:09
von Leonidas
mawe hat geschrieben:PS: Ich liebe das neue Highlighting :)
Freut mich zu hören 8)

SCNR für das Offtopic-Posting aber ich muss den Moment jetzt auskosten :)

Verfasst: Dienstag 3. Januar 2006, 17:57
von steffi
nene, ich meine, wenn jemand auf einen eintrag im listbox doppelklickt, soll was passieren...

Verfasst: Dienstag 3. Januar 2006, 21:03
von mawe

Code: Alles auswählen

from Tkinter import *

def double_click(event):
    print lb.get(lb.curselection())

root = Tk()
lb = Listbox()
for item in ["one", "two", "three", "four"]:
    lb.insert(END, item)
lb.pack()
lb.bind("<Double-Button-1>", double_click)

root.mainloop()

Verfasst: Dienstag 3. Januar 2006, 21:41
von Mawilo
Hallo,

die genaue Position eines Widgets in einem anderen Widget kannst du mit dem Layout-Manager place() angeben. Um den Master zu plazieren, geht z.B. geometry()

Beispiel:

Code: Alles auswählen

def double_click(event):
    print lb.get(lb.curselection())

root = Tk()
root.geometry('+%d+%d'%(450,250))
lb = Listbox(root)
for item in ["one", "two", "three", "four"]:
    lb.insert(END, item)
lb.place(relx=0.5,rely=0.1)
lb.bind("<Double-Button-1>", double_click)

root.mainloop()
Stephan