为什么会出现这个错误,为什么不是 tk 属性?
错误:
Traceback (most recent call last):
File "editor-new.py", line 90, in <module>
TextEditor().mainloop()
File "editor-new.py", line 48, in __init__
Button(self, text='Open', command=self.onSave).pack(side=LEFT)
File "C:\Python27_1\lib\lib-tk\Tkinter.py", line 2044, in __init__
Widget.__init__(self, master, 'button', cnf, kw)
File "C:\Python27_1\lib\lib-tk\Tkinter.py", line 1965, in __init__
BaseWidget._setup(self, master, cnf)
File "C:\Python27_1\lib\lib-tk\Tkinter.py", line 1943, in _setup
self.tk = master.tk
AttributeError: TextEditor instance has no attribute 'tk'
代码:
http://code.google.com/p/childreneditor/source/browse/trunk/editor-new.py
出了什么问题?
最佳答案
在此代码中:
Button(self, text='Open', command=self.onSave).pack(side=LEFT)
Button 的第一个参数应该是 Tkinter 容器的实例(例如根窗口或框架)。根据http://code.google.com/p/childreneditor/source/browse/trunk/editor-new.py , self 是 ScrolledText 的实例,不能包含其他小部件。
尝试将 self
更改为 frm
。
关于python - 为什么错误不是python中的tk属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7310073/