[Python-de] Zwei ListBoxen in einem Dialog mittels Tkinter (Tix)
Marcus Gnaß
gonatan at gmx.de
Mit Aug 16 23:19:20 CEST 2006
Hallo!
Ich versuche in Python mittels Tkinter (Tix) eine kleine Anwendung zu
schreiben.
Dabei habe ich folgendes Problem:
In einem Dialog befindet sich ein LabelFrame (lf_grunddaten) mit zwei
ListBoxen (lb_a & lb_b). Der Dialog wird richtig dargestellt. Wähle ich
nun ein Item aus lb_a aus, so wird dieses markiert. Wähle ich ein Item
aus lb_b, so wird dieses markiert und die Markierung von lb_a
deaktiviert. Wähle ich nun wieder ein Item aus lb_a, so wird dieses
markiert und die Markierung von lb_b wird deaktiviert.
Frage:
Wie kann ich zwei voneinander unabhängige ListBoxen in einem Dialog
realisieren?
Hier noch der entsprechende Code:
# LabelFrame
lf_grunddaten = Tkinter.LabelFrame(frame)
lf_grunddaten.grid(row=0, column=0, columnspan=2, sticky=N+E+S+W)
# LISTBOX: a
l_a = Tix.Label(lf_grunddaten, text='a')
l_a.grid(row=2, column=0, sticky=N+E)
scrollbar_a = Tix.Scrollbar(lf_grunddaten, orient=VERTICAL)
self.lb_a = Tix.Listbox(lf_grunddaten, selectmode=SINGLE, width=25,
height=5, yscrollcommad=scrollbar_a.set, listvariable=self.charakter.a)
scrollbar_a.config(commad=self.lb_a.yview)
for a in a:
self.lb_a.insert(END, a)
self.lb_a.select_set(0)
#self.lb_a.bind('<ButtonRelease-1>', self.chage_a)
self.lb_a.grid(row=2, column=1, sticky=W)
scrollbar_a.grid(row=2, column=2, sticky=N+S+W)
# LISTBOX: b
l_b = Tix.Label(lf_grunddaten, text='b')
l_b.grid(row=3, column=0, sticky=N+E)
scrollbar_b = Tix.Scrollbar(lf_grunddaten, orient=VERTICAL)
self.lb_b = Tix.Listbox(lf_grunddaten, selectmode=SINGLE, width=25,
height=5, yscrollcommand=scrollbar_b.set, listvariable=self.charakter.b)
scrollbar_b.config(command=self.lb_b.yview)
for b in b:
self.lb_b.insert(END, b)
self.lb_b.select_set(0)
self.lb_b.bind('<ButtonRelease-1>', self.change_b)
self.lb_b.grid(row=3, column=1, sticky=W)
scrollbar_b.grid(row=3, column=2, sticky=N+S+W)
Vielen Dank im Voraus!
Marcus
More information about the python-de
mailing list