Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Лабораторная работа №6
- Задание: Исходно на форме находится равнобедренный треугольник с основанием внизу 400 пикселей. При запуске движения основание начинает уменьшаться со
- скоростью 50 пикселей/сек. и шагом в 1 пиксель. После превращения фигуры в
- вертикальную линию начинается обратное движение, но основание теперь
- находится вверху. При следующем возврате к вертикальной линии снова основание
- внизу. Запуск и остановка движения – клавиша SpeedButton.
- Структура проекта: lab6.py
- Форма:
- Листинг программы:
- from tkinter import *
- root = Tk()
- up = True
- # Функция движения
- def move():
- global x1, x2, x3, y1, y2, y3, up
- if v.get():
- if up and c.coords(triangle)[0] < 400:
- x1 += 1
- x3 -= 1
- c.coords(triangle, x1, y1, x2, y2, x3, y3)
- else:
- up = False; y1 = 200; y2 = 600; y3 = 200
- if up == False and c.coords(triangle)[0] > 200:
- x1 -= 1
- x3 += 1
- c.coords(triangle, x1, y1, x2, y2, x3, y3)
- else:
- up = True; y1 = 600; y2 = 200; y3 = 600
- root.after(20, move)
- # Создание канвы и треугольника
- c = Canvas(width=800, height=800)
- c.pack()
- x1 = 200
- y1 = 600
- x2 = 400
- y2 = 200
- x3 = 600
- y3 = 600
- triangle = c.create_polygon((x1, y1), (x2, y2), (x3, y3))
- # Создание спидбатона
- v = BooleanVar()
- bstop = Radiobutton(text="Стоп", variable=v, value=False, indicatoron=0, font=(20))
- bstop.place(x=200, y=700)
- bpusk = Radiobutton(text="Пуск", variable=v, value=True, indicatoron=0, font=(20), command=move)
- bpusk.place(x=570, y=700)
- root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement