Listboxen -> Doppelklick

Fragen zu Tkinter.
steffi

Listboxen -> Doppelklick

Beitragvon steffi » Dienstag 3. Januar 2006, 15:31

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])

Beitragvon mawe » Dienstag 3. Januar 2006, 15:53

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
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 3. Januar 2006, 16:09

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 Modvoice
steffi

Beitragvon steffi » Dienstag 3. Januar 2006, 17:57

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])

Beitragvon mawe » Dienstag 3. Januar 2006, 21:03

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: 446
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

Beitragvon Mawilo » Dienstag 3. Januar 2006, 21:41

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

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder