私のコード内の問題は、topLevel()
ウィンドウの送信ボタンをクリックすると、タイトルにエラーが表示されるということです。もし私がを入れようとすると、submit_button
がtopLevel()
の一部ではないというエラーがスローされます。私はstackoverflow全体を検索しましたが、これに似た問題は見つかりませんでした。私はPythonのGUIプログラミングには新しく、本当に助けに感謝します。Tkボタンでエラーが発生する:
class SampleApp(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.KTitle = tk.Label(self, text="Login ")
self.KTitle.grid(row=7,column=0, columnspan=2)
self.KUsername = tk.Label(self, text="Username: ")
self.KUsername.grid(row=8,column=0, sticky=E)
self.KPassword = tk.Label(self, text="Password: ")
self.KPassword.grid(row=9,column=0, sticky=E)
self.KUEntry = tk.Entry(self, width=15)
self.KUEntry.grid(row=8,column=1, sticky=E)
self.KUPass = tk.Entry(self, width=15)
self.KUPass.grid(row=9,column=1, sticky=E)
self.KUSubmit = tk.Button(self, text="Submit")
self.KUSubmit.grid(row=10, column=0, columnspan=2)
self.KTitle = tk.Label(self, text=" or ")
self.KTitle.grid(row=11,column=0, columnspan=2)
self.KUSubmit = tk.Button(self, text="Create an Account", command=self.create_button)
self.KUSubmit.grid(row=12, column=0, columnspan=2)
def create_button(self):
top = Toplevel()
top.TitleHead = tk.Label(top, text="Create an Account ")
top.TitleHead.grid(row=0,column=2, columnspan=3)
#userInput
top.f_name = tk.Label(top, text="First Name: ")
top.f_name.grid(row=1,column=2, sticky=W)
top.Entry1 = tk.Entry(top, width=15)
top.Entry1.grid(row=1,column=3, sticky=W)
top.l_name = tk.Label(top, text="Last Name: ")
top.l_name.grid(row=2,column=2, sticky=W)
top.Entry2 = tk.Entry(top,width=15)
top.Entry2.grid(row=2,column=3, sticky=W)
top.username = tk.Label(top, text="Username: ")
top.username.grid(row=3,column=2, sticky=W)
top.Entry3 = tk.Entry(top, width=15)
top.Entry3.grid(row=3,column=3, sticky=W)
top.Ptoken = tk.Label(top, text="Password: ")
top.Ptoken.grid(row=4,column=2, sticky=W)
top.Entry4 = tk.Entry(top, width=15)
top.Entry4.grid(row=4,column=3, sticky=W)
top.Submit = tk.Button(top, text="Submit", command=submit_button)
top.Submit.grid(row=5, column=2, columnspan=2)
def submit_button(top):
x = top.Entry4.get()
salt = uuid.uuid4().hex
hashed_password = hashlib.sha512(x + salt).hexdigest()
add = ("INSERT INTO User "
"(ID, username, f_name, l_name, salt, PashHash) "
"VALUES (%s, %s, %s, %s, %s, %s)")
ID = int(0)
username = top.Entry3.get()
f_name = top.Entry1.get()
l_name = top.Entry2.get()
salt = salt
PashHash = hashed_password
data = (ID , top.username , top.f_name , top.l_name, salt, PashHash)
cursor.execute(add, data)
cnx.commit()
app = SampleApp()
app.mainloop()
'デフsubmit_buttonを(上)'デフsubmit_buttonを '(自己、トップ)'それはクラス – depperm
の一部だ場合、完全なエラーを表示してくださいする必要があります。 –
どの 'ボタン?なぜあなたは2つの異なるものを 'self.KUSubmit'に割り当てるのですか? – martineau