er ist mit in ein canvas element eingebettet um eine scrollbar zu erhalten:
Code: Alles auswählen
canvas = tk.Canvas(root, borderwidth=0)
frame = tk.Frame(canvas,height=500)
vsb = tk.Scrollbar(root, orient="vertical", command=canvas.yview)
canvas.configure(yscrollcommand=vsb.set)
vsb.pack(side="right", fill="y")
canvas.pack(side="left", fill="both", expand=True)
canvas.create_window((4,4), window=frame, anchor="nw", tags="self.frame")
frame.bind("<Configure>", OnFrameConfigure)
def OnFrameConfigure(event):
canvas.configure(scrollregion=canvas.bbox("all"))
ich erstelle einige labels die mit StringVars verknüpft sind.
Code: Alles auswählen
labelliste=[]
meinText=tk.StringVar()
meinText("hallo python forum")
meinLabel=Label(frame,textvariable=meinText)
meinLabel.grid(row=0,column=0)
labelliste.append(meinLabel)
um diese zu löschen (und da mit kein einfacherer weg eingefallen ist, für vorschläge bin ich dankbar! meine liste ist lang...)
wollte ich wiefolgt vorgehen:
Code: Alles auswählen
for element in labelliste:
element.destroy()
AttributeError: StringVar instance has no attribute 'destroy'
buttons hingehen lassen sich auf diese weise problemlos löschen.
das gleiche wenn ich grid_forget() o.ä. nutze.
ich kann stringvar einfach auf "" setzen via
Code: Alles auswählen
for element in labelliste:
element.set("")
hatte jemand bereits ähnliche probleme, oder hat eine bessere alternative, oder eine lösung für mich?
ich wäre euch sehr verbunden

mit besten grüßen, mops