Видимо вы только недавно начали изучать программирование. Во первых стоит перевести на русский язык сообщение об ошибке и попробовать понять, что именно не нравится интерпретатору. Во вторых, используйте Google прежде чем задавать вопросы. И в третьих, не стоит вставлять кусок программы и ожидать, что кто-то будет читать ваш код и пытаться в нём разобраться.
Ваша ошибка состоит в том, что вы пытаетесь вызвать метод
insert
для класса "WorkArea". Но этого класса нет такого метода. У него есть только метод
__init__
. Видимо должен быть вызван метод insert у класса
tkinter.Text
?
Я исправил класс WorkArea из вашего примера:
https://gist.github.com/anonymous/8851536
Проверить не могу, так как у меня не установлен tkinter.
Замечания:
- Использование глобальной булевой переменной
workArea
- плохая практика - Имя переменной
workArea
почти совпадает с именем класса WorkArea
- плохая практика, их легко перепутать и получить много весёлых сообщений об ошибках - Выражение
self.new = ...
заменяет метод "new" на объект. Не стоит называть метод и поле одним именем. - Непонятно, зачем класс ToolBar наследует два других класса. Мне кажется, что можно объеденить классы "Operations" и "TooBar" в один, который наследовал бы
tkinter.Frame
.