Advertisement
Guest User

Untitled

a guest
May 7th, 2020
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.75 KB | None | 0 0
  1. """
  2. Python 3, tkinter, Нарисовать ромб по введенной стороне и тупому углу.
  3.  
  4. """
  5.  
  6. from tkinter import *
  7. import math as m
  8.  
  9. def click():
  10.     try:
  11.         a = int(entr1.get())# сторона
  12.         ang = int(entr2.get())# тупой угол
  13.         aa = ang/2
  14.         bb = 90-aa
  15.         aB = (45-bb)*m.pi/180
  16.         aD = (45+bb)*m.pi/180
  17.         A = [5,5]
  18.         B = [int(A[0]+a*m.cos(aB)), int(A[1]+a*m.sin(aB))]
  19.         C = [int(B[0]+a*m.cos(aD)), int(B[1]+a*m.sin(aD))]
  20.         D = [int(A[0]+a*m.cos(aD)), int(A[1]+a*m.sin(aD))]
  21.  
  22.         canv.delete('all')
  23.         canv.create_line(A[0],A[1], B[0], B[1])
  24.         canv.create_line(B[0],B[1], C[0], C[1])
  25.         canv.create_line(C[0],C[1], D[0], D[1])
  26.         canv.create_line(D[0],D[1], A[0], A[1])
  27.     except:
  28.         entr1.delete(0,END)
  29.         entr2.delete(0,END)
  30.         print('Error')
  31.    
  32. def focus(event):
  33.     widget = wnd.focus_get()
  34.     print(widget, 'has focus')
  35.    
  36. def entr2_foc(event):
  37.     entr2.focus_set()
  38.  
  39. def b1_foc(event):
  40.     B1.focus_set()
  41.  
  42. def entr1_foc(event):
  43.     click()
  44.     entr1.focus_set()
  45.    
  46.    
  47.  
  48. wnd = Tk()
  49. canv = Canvas(wnd, width=200,height=200,background='white')
  50. canv.grid(row=0, columnspan=2)
  51.  
  52. entr1 = Entry(wnd, width=5)
  53. entr1.grid(row=1,column=0, sticky=W)
  54. entr1.focus()
  55. entr1.bind('<Return>', entr2_foc)
  56. L1 = Label(wnd, text='Сторона')
  57. L1.grid(row=1,column=1, sticky=W)
  58.  
  59. entr2 = Entry(wnd, width=5)
  60. entr2.grid(row=2,column=0, sticky=W)
  61. entr2.bind('<Return>', b1_foc)
  62. L2=Label(wnd, text='Тупой Угол (градусы)')
  63. L2.grid(row=2,column=1, sticky=W)
  64.  
  65. B1 = Button(wnd, text='GO', command=click)
  66. B1.grid(row=3, sticky=W)
  67. B1.bind('<Return>', entr1_foc)
  68.  
  69.  
  70.  
  71. wnd.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement