[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