zwei getrennte Fragen funktionieren haben mit meinem CodePython - tkinter Startreihe nicht erscheinen und vorbei nicht korrekt
Wer zuerst kommt, ich nicht die vierte Reihe meiner Gitter, erscheinen bekommen können, obwohl die fünfte bis erscheint gut angezeigt werden.
Zweitens meine passVal Funktion hält mir den Fehler geben:
passVal() takes 1 positional argument but 2 were given
Ich habe versucht, die Dinge neu anordnen und es in einen String konvertiert und nichts scheint zu funktionieren.
Ich denke, es gibt eine Chance, es ist eine Sache, die das gleiche Problem verursacht, da sie beide um den gleichen Knopf zentriert sind, aber ich bin mir nicht sicher.
import tkinter
class AccountCreation:
def __init__(self):
self.main = tkinter.Tk()
self.main.title("Account Creation")
self.topleftLabel = tkinter.Label(text=" ")
self.topleftLabel.grid(row=1,column=1)
self.botrightLabel = tkinter.Label(text=" ")
self.botrightLabel.grid(row=5,column=5)
self.promptLabel = tkinter.Label(text="Create a password with at least nine (9)\n characters that contains at least one digit, \n one uppercase, and one lowercase letter.\n\n")
self.promptLabel.grid(row=2,column=2,columnspan=2)
self.passLabel = tkinter.Label(text="Password:")
self.passLabel.grid(row=3,column=2)
self.passEntry = tkinter.Entry(width = 18, justify='right')
self.passEntry.grid(row=3,column=3)
self.enterButton = tkinter.Button(text="Enter", \
command=self.passVal(self.passEntry.get()))
self.enterButton.grid(row=4,column=2)
self.cancelButton = tkinter.Button(text="Cancel", \
command=self.cancel)
self.cancelButton.grid(row=4,column=3)
tkinter.mainloop()
def passVal(pw):
if len(pw) < 9:
print ("no")
def cancel(self):
self.main.destroy()
my_gui = AccountCreation()
BTW Sie müssen keine Etiketten für den Abstand verwenden. Sie können das Padding dafür verwenden. –
@BryanOakley, ich glaube nicht, dass diese Frage ein Duplikat des Artikels ist, auf den Sie verwiesen haben. Dieses Frageproblem hing mehr mit dem fehlenden 'self'-Argument in der' passVal'-Methode zusammen. Ja, es gab auch die Frage der Befehlsausführung bei init, aber das war nicht die Hauptfrage/das Hauptproblem. –
@ Mike-SMT: fair genug. –