i am getting an AttributeError: 'NoneType' object has no attribute 'get' for my simple GUI program in python
i am getting an AttributeError: 'NoneType' object has no attribute 'get' for my simple GUI program in python
我收到 ButtonClick 方法内任何函数的属性错误。请帮助纠正这个问题。
import tkinter as tk
from tkinter import *
root = tk.Tk()
enter = tk.Entry(root, width = 35, borderwidth = 5).grid(row = 0, column = 0, columnspan = 3, padx =10 , pady = 10)
def ButtonClick(number):
print(number)
current = enter.get()
print(current)
# enter.delete(0,END)
# enter.insert(0, current + number)
button1 = tk.Button(root, text="1", bg="yellow",padx = 40, pady= 20, command=lambda: ButtonClick(1)).grid(row = 1, column = 0)
root.mainloop()
python shell 使实验变得容易。假设错误是 enter
我只是将您的代码的第一部分粘贴到 shell.
>>> import tkinter as tk
>>> from tkinter import *
>>>
>>> root = tk.Tk()
>>>
>>> enter = tk.Entry(root, width = 35, borderwidth = 5).grid(row = 0, column = 0, columnspan = 3, padx =10 , pady = 10)
>>> repr(enter)
'None'
是的,它 None
。这很典型。对象方法通常不 return 它们自己的对象。它对方法链接很方便,但大多数对象并不是为此而设计的。只做示例和教程显示的内容并将其放在单独的行中。
import tkinter as tk
from tkinter import *
root = tk.Tk()
enter = tk.Entry(root, width = 35, borderwidth = 5)
enter.grid(row = 0, column = 0, columnspan = 3, padx =10 , pady = 10)
def ButtonClick(number):
print(number)
current = enter.get()
print(current)
# enter.delete(0,END)
# enter.insert(0, current + number)
button1 = tk.Button(root, text="1", bg="yellow",padx = 40, pady= 20, command=lambda: ButtonClick(1)).grid(row = 1, column = 0)
root.mainloop()
我收到 ButtonClick 方法内任何函数的属性错误。请帮助纠正这个问题。
import tkinter as tk
from tkinter import *
root = tk.Tk()
enter = tk.Entry(root, width = 35, borderwidth = 5).grid(row = 0, column = 0, columnspan = 3, padx =10 , pady = 10)
def ButtonClick(number):
print(number)
current = enter.get()
print(current)
# enter.delete(0,END)
# enter.insert(0, current + number)
button1 = tk.Button(root, text="1", bg="yellow",padx = 40, pady= 20, command=lambda: ButtonClick(1)).grid(row = 1, column = 0)
root.mainloop()
python shell 使实验变得容易。假设错误是 enter
我只是将您的代码的第一部分粘贴到 shell.
>>> import tkinter as tk
>>> from tkinter import *
>>>
>>> root = tk.Tk()
>>>
>>> enter = tk.Entry(root, width = 35, borderwidth = 5).grid(row = 0, column = 0, columnspan = 3, padx =10 , pady = 10)
>>> repr(enter)
'None'
是的,它 None
。这很典型。对象方法通常不 return 它们自己的对象。它对方法链接很方便,但大多数对象并不是为此而设计的。只做示例和教程显示的内容并将其放在单独的行中。
import tkinter as tk
from tkinter import *
root = tk.Tk()
enter = tk.Entry(root, width = 35, borderwidth = 5)
enter.grid(row = 0, column = 0, columnspan = 3, padx =10 , pady = 10)
def ButtonClick(number):
print(number)
current = enter.get()
print(current)
# enter.delete(0,END)
# enter.insert(0, current + number)
button1 = tk.Button(root, text="1", bg="yellow",padx = 40, pady= 20, command=lambda: ButtonClick(1)).grid(row = 1, column = 0)
root.mainloop()