Ich versuche, ein Array/Liste von tkinter Etiketten für einen Lohnrechner zu machen, aber wenn ich das Widget an mein Array anhängen, hängt es als int-Datentyp. Ich dachte, das Anhängen würde es mir erlauben, list [widgetIndex] .grid() aufzurufen, aber da es kein Label-Datentyp war, der aus irgendeinem Grund an meine Liste angehängt wurde, gibt es eine Fehlermeldung, dass dieses 'int' -Objekt keine hat Attribut namens "Grid". Warum ist es ein Datentyp int im Gegensatz zum Label-Datentyp, den die Variable definitiv hatte, bevor ich sie angehängt habe?Python anhängen tkinter Widget zur Liste zeigt als int-Wert
def addJob(jc, cc, he, wl, hl, we):
jc = jc + 1
cc = cc + 2
wageLabel = Label(root, text="Wage")
hoursLabel = Label(root, text="Hours")
wageEntry = Entry(root)
hoursEntry = Entry(root)
wl.append(wageLabel)
hl.append(hoursLabel)
we.append(wageEntry)
he.append(hoursEntry)
wl[jc-1].grid(row =0, column =cc-1, sticky=E)
hl[jc-1].grid(row =1, column =cc-1, sticky=E)
we[jc-1].grid(row = 0, column=cc)
he[jc-1].grid(row = 1, column=cc)
Ich habe versucht, ein 'Label' in eine' liste' einzufügen und als ich anrief, versuchte ich, seinen Typ zu drucken, bekam ich ''. Können Sie mir sagen, wie Sie Ihren Fehler reproduzieren können? EDIT: Ich kann sogar die 'Grid' Funktion aufrufen. –
Es sieht so aus, als ob "jc" nicht dem letzten Element in jeder "liste" entspricht, was die entsprechenden Widgets sein sollte. Drucke die Länge jeder "Liste" aus, zusammen mit dem, was "jc-1" ist. – TigerhawkT3
jc ist die Anzahl der Jobs, die zuerst 1 ist, also - 1 ist der 0. Index, den ich gerade überprüft habe, und jc-1 ist tatsächlich 0, und die Liste für die Listen sind 2 Indizes lang. –