Форум сайта python.su
0
Здравствуйте, прошу о помощи.
Создал программу paint на питоне, работает все как надо, но я бы хотел добавить другие эффекты кисти. Создал отдельный toplevel после открытия вкладки tools, туда добавил пару кнопок.
Не могу понять почему widget ругается из-за того что я заменяю его на другой при нажатии заданой кнопки …
P.S пробовал заменять стандартный - все работает.
Вот кусок кода откуда все работает..
Спасибо
Прикреплённый файлы:
forum.jpg (161,4 KБ)
Офлайн
49
Если Вы генерируете событие и передаете в обработчик event, то при генерации события “нажатие кнопки” в качестве event.widget передается кнопка. Так вот Вы для этой кнопки пытаетесь вызвать метод create_oval, которого там нет и в помине 
Офлайн
0
4kpt_IV
Если Вы генерируете событие и передаете в обработчик event, то при генерации события “нажатие кнопки” в качестве event.widget передается кнопка. Так вот Вы для этой кнопки пытаетесь вызвать метод create_oval, которого там нет и в помине
Отредактировано InFocus (Янв. 31, 2017 19:31:51)
Офлайн
0
InFocus
Прикреплённый файлы:
Screen Shot 2017-01-31 at 19.29.16.png (29,7 KБ)
Офлайн
0
4kpt_IV
Если Вы генерируете событие и передаете в обработчик event, то при генерации события “нажатие кнопки” в качестве event.widget передается кнопка. Так вот Вы для этой кнопки пытаетесь вызвать метод create_oval, которого там нет и в помине
Прикреплённый файлы:
forum.py (2,0 KБ)
Офлайн
49
Попробую пояснить попроще.
В этой строке в качестве виджета в евент передается что?
drawing_area.bind("<Motion>", motion)
but1.bind("<Button-1>",oval)
Отредактировано 4kpt_IV (Янв. 31, 2017 19:58:10)
Офлайн
0
4kpt_IV
работчике события вы у drawing_area вызыва
Отредактировано InFocus (Янв. 31, 2017 20:38:21)
Офлайн
49
Еще проще.
Что должно происходить при нажатии на разные кнопки?
Офлайн
0
4kpt_IV
исходить при нажатии на разные кнопки?
Офлайн
49
Т.е. нажатие на кнопки должны менять режим, а не рисовать. Аллелуйя. Теперь делаем следующее. Задаем переменную режима. При переключении на кнопку значение в ней должно меняться. При рисовании выбираем тот режим, который находится в этой переменной.
Офлайн