Name eines Widgets

Fragen zu Tkinter.
Antworten
Jansen
User
Beiträge: 9
Registriert: Montag 14. März 2005, 17:06

Hallo!
Ich habe in meinem Programm mehrere Listboxen und moechte jeweils ueberpruefen, in welcher selektiert wurde. Hierzu gehe ich ueber jedes Item folgendermassen:

Code: Alles auswählen

	
for widget in self.fmiddle.winfo_children():
          try:
			if len(widget.curselection())>0:
In meiner weiteren Verarbeitung muss ich jedoch genau wissen, aus welcher Listbox die Eintraege gewaehlt wurden.

Vielen Dank schon einmal!
Benutzeravatar
Hannes-Spz
User
Beiträge: 123
Registriert: Sonntag 7. August 2005, 22:42

hi, leutz

ich weiß, dass dieser thread schon richtig, richtig alt ist,
aber erstens
hat jansen darauf nie eine antwort bekommen
und zweitens
war ich gerade mal ab stöbern.. :lol: :lol:

ich fand die idee dann trotzdem irgendwie toll...
ALSO:

Code: Alles auswählen

from Tkinter import *

root=Tk()

fmiddle=Frame(root)
fmiddle.pack()

a=Listbox(fmiddle)
a.pack(side=LEFT)
a.insert(END,"Hello1")
a.insert(END,"Hello2")

b=Listbox(fmiddle)
b.pack(side=RIGHT)
b.insert(END,"Hello3")
b.insert(END,"Hello4")

def a(event=None):
    li=[]
    for widget in fmiddle.winfo_children():
        print len(widget.curselection())
        li.append( len( widget.curselection() ) )
    print fmiddle.winfo_children()[li.index(1)]

button=Button(root, text="auswertung", command=a)
button.pack()

root.mainloop()
dabei wird in die liste entweder eine eins oder null geschrieben
(esseidenn man hat sowas wie multible-choice aktiviert, aber das lässt sich ja dann trotzdem mit der max()-funktion lösen :wink: )
und dann der index der eins aus der liste als index für alle "childrens" genutzt - haben ja nicht umsonst die gleiche reinfolge.. :wink:

ich hoffe mal ganz stark, dass es noch jemandem nützt... :roll:

liebe Grüße
hannes
[size=85]"Unsere Situation ist immer die eines schwarzen Mannes der in einem schwarzen Keller einen schwarzen Hut sucht, den es vielleicht gar nicht gibt." Sir Karl R. Popper[/size]
Antworten