Listboxen -> Doppelklick

Fragen zu Tkinter.
Antworten
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
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

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
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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 :)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
steffi

nene, ich meine, wenn jemand auf einen eintrag im listbox doppelklickt, soll was passieren...
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

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()
Benutzeravatar
Mawilo
User
Beiträge: 452
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

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
Antworten