我正在嘗試創建一個 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
提交
取消