[Python-de] Problem mit Checkbutton in der Objektorientierung

Jan Voges jan.voges at gmx.de
Fri May 16 10:29:29 EDT 2003


On 16 May 2003 at 8:45, Martin Grabbel wrote:

> Das scheint also alles soweit zu funktionieren. Aber wieso bleibt
> die Liste nach auslesen leer?

Ich sehe so auf die Schnelle nichts. Lass mal das   if len(i.get())   
weg, um zu sehen, ob die Liste wenigstens die richtige Anzahl 
Einträge hat. 
Hier ist mein reduziertes, aber lauffähiges Beispiel:
#-------------------------------------------
from Tkinter import *
root = Tk()
class auswahl:
  def radiocheck (self,label,allObjects):
    personalFrame = Frame (root)
    personalFrame.pack (side=LEFT, fill=X, expand=1)
    personalLabel = Label (personalFrame, text=label)
    personalLabel.pack (side=TOP, anchor=W)
    self.checkObjects = []
    for i in allObjects:
      if i[1] == "c":
        self.checkObjects.append(StringVar())
        oneObject = Checkbutton (personalFrame, text=i[0],
          variable=self.checkObjects[-1],
          onvalue=i[0], offvalue="")
        oneObject.pack (side=TOP, anchor=W)
    Button(personalFrame,text="Test",command=self.test).pack()

  def test(self):
    print [check.get() for check in self.checkObjects
      if check.get()]     # das len() ist überflüssig

global objectGenreList,genreList
objectGenreList = (('Komoedie','c'),('Horror','c'),('Drama','c'))
genreList = auswahl()
genreList.radiocheck('Genre:',objectGenreList)
root.mainloop()
#-------------------------------------------

Jan





More information about the Python-de mailing list