我正在尝试创建一个 python 文件,该文件将向包含 .txt 文件的目录发送垃圾邮件。我决定开始使用 Tkinter,但是每当我尝试输入数字时,我都会收到此错误消息"TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'"我正在使用的代码是:from tkinter import * top = Tk() top.geometry("400x250") Amount = Label(top, text = "Amount").place(x = 30,y = 50) def spam(): for i in range(int(e1)): print(i)sbmitbtn = Button(top, text = "Submit",activebackground = "pink", activeforeground = "blue",command=spam).place(x = 30, y = 170) e1 = Entry(top).place(x = 80, y = 50) top.mainloop() 我已经厌倦了切换到 for i in range(int(e1)):, for i in range(str(e1)): 但随后我收到错误消息:"TypeError: 'str' object cannot be interpreted as an integer"任何帮助都是好帮助
2 回答
慕虎7371278
TA贡献1802条经验 获得超4个赞
使用get()方法获取Entry的值。例子:
def spam():
for i in range(int(e1.get())):
print(i)
并且不要将条目放在/打包在同一行中:
错误的:
e1 = Entry(top).place(x = 80, y = 50)
正确的:
e1 = Entry(top)
e1.place(x = 80, y = 50)
慕哥9229398
TA贡献1877条经验 获得超6个赞
您应该首先获取条目中的值,然后将其转换为整数。
def spam():
entry_val = e1.get()
for i in range(int(entry_val)):
print(i)
添加回答
举报
0/150
提交
取消