komplexeres problem

Fragen zu Tkinter.
kosche

komplexeres problem

Beitragvon kosche » Mittwoch 27. November 2002, 11:20

hallo leute,
ich suche nach einer lösung meines problems. folgendes ist mein problem:
ich habe ein fenster. dann habe ich eine liste mit strings. über eine for - schleife lasse ich in diesem fenster labels erzeugen, die die strings aus der liste bekommen. wenn ich jetzt ein label anklicke, soll in einem dafür vorgesehenen feld, dieser string ausgegeben werden. jetzt könntet ihr sagen,: "nimm bind, oder command" das habe ich schon probiert, aber ich scheine es wohl falsch zu machen. ein klein wenig code wäre wahrscheinlich sehr hilfreich.
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Beitragvon Milan » Mittwoch 27. November 2002, 13:04

zeig mal nen Quelltext, ohne den kann ich mich nicht einarbeiten.
kosche

quelltext

Beitragvon kosche » Mittwoch 27. November 2002, 14:19

Code: Alles auswählen

from Tkinter import *

liste = ["A", "B", "C"]
wm = Tk()
for i in range(len(liste)):
   label = Label(wm, text=liste[i])
   label.pack()
entry = Entry(wm)
entry.pack()
wm.mainloop()

also ich klicke auf ein x-beliebiges label und der text des labels soll
dann im entry erscheinen!

mfg
kosche

gelöst

Beitragvon kosche » Mittwoch 27. November 2002, 16:32

hallo leute,
ich habe mein problem gelöst. also zerbrecht euch nicht weiter den kopf.

danke
Benutzeravatar
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

Beitragvon hans » Mittwoch 27. November 2002, 21:14

Darf man fragen wie deine Lösung aussieht? Lass doch mal andere dran teilhaben.

Hans
kosche

lösung

Beitragvon kosche » Donnerstag 28. November 2002, 12:38

sorry, daran habe ich nicht gedacht. :lol:

Code: Alles auswählen

label = Label(newW, text=liste[i])
label.bind("<Button-1>", lambda event, x = liste[i] : prn(x))
label.pack()

also wichtig ist hier lambda event, damit bindet man wohl jedes einzeln erzeugte label an den linken mousebutton (Button-1). danach wird das element noch mal an x übergeben und x an die fkt. prn(). mit der habe ich dann, das label an die stelle plaziert, wo ich es haben wollte (place()).

mfg

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder