我正在尝试创建一个tkinter程序,一旦将答案输入到输入框中,就会按下提交,然后激活提交代码。提交代码应该在条目小部件中接收信息,然后检查用户是否实际提交了答案。
如果这是真的,那么如果用户输入的答案与我之前规定的答案相同,则会提示INCORRECT或CORRECT。
我已经查看了其他解决方案,它们似乎不适用于这种情况
entryWidget = Entry(root)
entryWidget["width"] = 50
entryWidget.pack()
entryWidget.pack()
submitButton = Button(root, text= "Submit Answer", command =Submit)
submitButton.pack()
def Submit(entryWidget):
""" Display the Entry text value. """
userAnswer= entryWidget.get()
if userAnswer.strip() == "":
tkinter.messagebox.showerror("Tkinter Entry Widget", "Please enter a number.")
if int(correctAnswer) != userAnswer.strip():
tkinter.messagebox.showinfo("Answer", "INCORRECT!")
else:
tkinter.messagebox.showinfo("Answer", "CORRECT!")
答案 0 :(得分:1)
提交代码应该在条目小部件中接收信息......
不,提交函数没有理由接收条目小部件作为其第一个参数。绑定到command
的函数不会收到任何参数。如果你想用一个参数调用Submit
,你需要自己这样做,包含在一个匿名的lambda函数中:
submitButton = Button(root, text= "Submit Answer", command =lambda: Submit(entryWidget))