Почему ошибка не является атрибутом tk в python? - PullRequest
1 голос
/ 05 сентября 2011

Почему эта ошибка и почему не атрибут 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

Что не так?

1 Ответ

1 голос
/ 05 сентября 2011

В этом коде:

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...