Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
class View(ttk.Frame):
def shHumList(self,humList):
for i, hum in enumerate(humList):
print(f'{i+1} {hum}') # diese Ausgabe soll im Frame erscheinen, anstatt print
Wie kann ich die Elemente in der Frame anzeigen?? danke.
P.S.: benutze Tkinter.
Das label an self zu binden ist in diesem Fall unnötig. Du erzählst so eh nur Zugriff auf das letzte Label. Alle anderen sind ‚verloren‘. Kann man sich also auch sparen.
@yildirim2665: Anmerkung zum Quelltext: Namen werden in Python klein_mit_unterstrichen geschrieben. Ausnahmen sind Konstanten (KOMPLETT_GROSS) und Klassen (PascalCase).
Namen sollten keine kryptischen Abkürzungen enthalten, oder gar nur daraus bestehen. Wenn in `hum_list` also nicht Objekte enthalten sind, die in irgendeiner Form ”summen” im Sinne von Tönen enthalten, dann ist `hum` eher unzureichend. Und `lab` ist eine übliche Abkürzung für „Labor“/„laboratory“. Wenn man `label` meint, sollte man auch `label` schreiben.
Funktionen und Methoden werden üblicherweise nach der Tätigkeit benannt die sie durchführen. Das weiss der Leser was die machen und sie sind auch leichter von eher passiven Werten unterscheidbar.
Grunddatentypen haben in Namen nichts verloren. Das ändert man im Laufe der Programmentwicklung gerne mal zugunsten eines spezialisierten Typs und dann muss man das ganze Programm durchgehen und die betroffenen Namen anpassen, oder hat falsche, irreführende Namen im Programm.
Das `self` ist an der Stelle nicht nur überflüssig, man sollte auch ausserhalb der `__init__()` keine neuen Attribute einführen. Nach Ablauf der `__init__()` sollte ein Objekt komplett initialisiert und benutzbar sein. Wenn das nicht der Fall ist, und andere Methoden neue Attribute einführen, wird es unübersichtlich und fehleranfällig.
„Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.“ — Brian W. Kernighan
@__blackjack___: danke für die Infos. in 'hum_list' sind dict's enthalten... human_list=[{'name': name, 'alter':....},{'name':....}]
bin der totale Anfänger in Python, es stellt sich für mich nun die Frage...: 'Wenn ich ein Toplevel() im __init__ erstelle wird es direkt angezeigt, wie kann ich es später ausführen??
z.B: wenn ich eine neue Person hinzufüge