Форум сайта python.su
0
4kpt_IV
Т.е. нажатие на кнопки должны менять режим, а не рисовать. Аллелуйя. Теперь делаем следующее. Задаем переменную режима. При переключении на кнопку значение в ней должно меняться. При рисовании выбираем тот режим, который находится в этой переменной.
Офлайн
0
4kpt_IV
Т.е. нажатие на кнопки должны менять режим, а не рисовать. Аллелуйя. Теперь делаем следующее. Задаем переменную режима. При переключении на кнопку значение в ней должно меняться. При рисовании выбираем тот режим, который находится в этой переменной.
Прикреплённый файлы:
Screen Shot 2017-01-31 at 21.09.34.png (27,6 KБ)
Офлайн
49
Тааааак. Смотрите. Где у Вас происходит процесс рисования?
Какие события его вызывают?
# type_ = "polygon" # def change_style_to(event): global type_ type_ = event.widget["text"] print("type_ is changed on: {}".format(type_)) # def draw(event): global type_ global toolsThickness # method = { "polygon": event.widget.create_polygon, "oval": event.widget.create_oval, }[type_] # if b1 == "down": global xold, yold if xold is not None and yold is not None: method(xold, yold, event.x, event.y, width = toolsThickness, outline="black") # but1=Button(win3,text="oval") but1.bind("<Button-1>", change_style_to) but1.pack() # but2=Button(win3,text="polygon") but2.bind("<Button-1>", change_style_to) but2.pack() # drawing_area = Canvas(win,bg="white",width=600,height=400) drawing_area.bind("<Motion>", motion) drawing_area.bind("<ButtonPress-1>", b1down) drawing_area.bind("<ButtonRelease-1>", b1up) drawing_area.pack()
Отредактировано 4kpt_IV (Янв. 31, 2017 21:22:49)
Офлайн
0
4kpt_IV
Тааааак. Смотрите. Где у Вас происходит процесс рисования?Какие события его вызывают?
4kpt_IV
drawing_area = Canvas(win,bg=“white”,width=600,height=400)
drawing_area.bind(“<Motion>”, motion)
drawing_area.bind(“<ButtonPress-1>”, b1down)
drawing_area.bind(“<ButtonRelease-1>”, b1up)
drawing_area.pack()
Отредактировано InFocus (Янв. 31, 2017 21:51:09)
Офлайн
49
А что мешает вставить код и проверить? Заменить часть своего кода.
Офлайн
49
Хорошо. Давайте проще. Добавьте в Ваш код кнопку. При нажатии на нее цвет фона меняется на черный.
Жду результата.
Офлайн
0
4kpt_IV
А что мешает вставить код и проверить? Заменить часть своего кода.
Офлайн
0
InFocus
Прикреплённый файлы:
Screen Shot 2017-01-31 at 21.59.00.png (75,5 KБ)
Офлайн
0
4kpt_IV
ще. Добавьте в Ваш код кн
def fill(event): drawing_area.configure(background="black") but1=Button(win,text="fill") but1.bind("<Button-1>",fill) but1.pack()
Офлайн
49
У Вас там все неправильно. И отступы и вообще все почти…
Вставляйте код в теги code. Иначе ничего понять нельзя.
Прикреплённый файлы:
1.png (229,7 KБ)
Офлайн