Advertisement
Guest User

Untitled

a guest
Nov 14th, 2019
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.04 KB | None | 0 0
  1. Лабораторная работа №6
  2. Задание: Исходно на форме находится равнобедренный треугольник с основанием внизу 400 пикселей. При запуске движения основание начинает уменьшаться со
  3. скоростью 50 пикселей/сек. и шагом в 1 пиксель. После превращения фигуры в
  4. вертикальную линию начинается обратное движение, но основание теперь
  5. находится вверху. При следующем возврате к вертикальной линии снова основание
  6. внизу. Запуск и остановка движения – клавиша SpeedButton.
  7. Структура проекта: lab6.py
  8. Форма:
  9.  
  10. Листинг программы:
  11. from tkinter import *
  12. root = Tk()
  13.  
  14. up = True
  15. # Функция движения
  16. def move():
  17. global x1, x2, x3, y1, y2, y3, up
  18. if v.get():
  19. if up and c.coords(triangle)[0] < 400:
  20. x1 += 1
  21. x3 -= 1
  22. c.coords(triangle, x1, y1, x2, y2, x3, y3)
  23. else:
  24. up = False; y1 = 200; y2 = 600; y3 = 200
  25. if up == False and c.coords(triangle)[0] > 200:
  26. x1 -= 1
  27. x3 += 1
  28. c.coords(triangle, x1, y1, x2, y2, x3, y3)
  29. else:
  30. up = True; y1 = 600; y2 = 200; y3 = 600
  31. root.after(20, move)
  32. # Создание канвы и треугольника
  33. c = Canvas(width=800, height=800)
  34. c.pack()
  35. x1 = 200
  36. y1 = 600
  37. x2 = 400
  38. y2 = 200
  39. x3 = 600
  40. y3 = 600
  41. triangle = c.create_polygon((x1, y1), (x2, y2), (x3, y3))
  42.  
  43. # Создание спидбатона
  44. v = BooleanVar()
  45. bstop = Radiobutton(text="Стоп", variable=v, value=False, indicatoron=0, font=(20))
  46. bstop.place(x=200, y=700)
  47. bpusk = Radiobutton(text="Пуск", variable=v, value=True, indicatoron=0, font=(20), command=move)
  48. bpusk.place(x=570, y=700)
  49.  
  50. root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement