【发布时间】:2015-07-18 20:39:57
【问题描述】:
我正在构建一个简单的小文本编辑器,但我收到了一个我无法弄清楚的错误。这与我在 Tkinter 中使用 .get() 函数有关。我正在使用python2.7。任何人都可以帮忙吗?下面是代码:
from Tkinter import *
def open_file():
user_file = open(user_input.get(), 'a')
file_contents = user_file.read()
text_box.insert(END, file_contents)
root = Tk()
user_input = Entry(root).pack(side=TOP)
text_box = Text(root).pack()
b1 = Button(root, text="open", command=open_file).pack(side=LEFT)
b2 = Button(root, text="save").pack(side=LEFT)
b3 = Button(root, text="quit", command=root.quit).pack(side=LEFT)
root.mainloop()
The error message reads:
Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1535, in __call__
return self.func(*args)
File "/home/brandon/TkProjects/TextEditor.py", line 7, in open_file
user_file = open(user_input.get, 'a')
AttributeError: 'NoneType' object has no attribute 'get'
这说我没有属性 .get() 但我不明白为什么。我创建了一个名为 user_input 的 Entry 小部件。我尝试将它存储在一个变量中,但这也不起作用。请帮忙。
filename = user_input.get()
【问题讨论】:
-
更仔细地阅读错误。它不是说“你”没有属性
.get(),而是说NoneType没有属性。问问自己:我为什么要在NoneType类型的东西上调用.get()?
标签: python python-2.7 tkinter