【发布时间】:2015-09-16 15:58:15
【问题描述】:
我对 Tkinter 有一点点 Python 经验,所以我希望答案不是太明显,我试图寻找答案,但找不到任何有用的东西。本质上,我正在尝试构建一个程序(现在作为占位符测试),如果用户在输入字段中输入 1 并点击提交,则会出现一个窗口,告诉他们他们输入了 1,否则他们被告知输入 1。如果我的理解正确,这应该有效:
from Tkinter import *
#-----------------------------------------------------------
import tkMessageBox
root = Tk()
#-----------------------------------------------------------
root.title('Payroll System')
#-----------------------------------------------------------
def on_printtext(root):
global entryform
string = entryform.get()
if string == 1:
tkMessageBox.showinfo('You typed 1')
elif string != 1:
tkMessageBox.showinfo('Please type 1')
#-----------------------------------------------------------
entryform = Entry(root)
entryform.pack()
submit = Button(root, text="Submit", command=on_printtext)
submit.pack()
root.mainloop()
但是,当我尝试运行它并在点击提交后在输入表单中输入 1 时,我得到了这个:
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1489, in call
return self.func(*args)
TypeError: on_printtext() takes exactly 1 argument (0 given)
【问题讨论】:
标签: python python-2.7 tkinter