Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- Python 3, tkinter, Нарисовать ромб по введенной стороне и тупому углу.
- """
- from tkinter import *
- import math as m
- def click():
- try:
- a = int(entr1.get())# сторона
- ang = int(entr2.get())# тупой угол
- aa = ang/2
- bb = 90-aa
- aB = (45-bb)*m.pi/180
- aD = (45+bb)*m.pi/180
- A = [5,5]
- B = [int(A[0]+a*m.cos(aB)), int(A[1]+a*m.sin(aB))]
- C = [int(B[0]+a*m.cos(aD)), int(B[1]+a*m.sin(aD))]
- D = [int(A[0]+a*m.cos(aD)), int(A[1]+a*m.sin(aD))]
- canv.delete('all')
- canv.create_line(A[0],A[1], B[0], B[1])
- canv.create_line(B[0],B[1], C[0], C[1])
- canv.create_line(C[0],C[1], D[0], D[1])
- canv.create_line(D[0],D[1], A[0], A[1])
- except:
- entr1.delete(0,END)
- entr2.delete(0,END)
- print('Error')
- def focus(event):
- widget = wnd.focus_get()
- print(widget, 'has focus')
- def entr2_foc(event):
- entr2.focus_set()
- def b1_foc(event):
- B1.focus_set()
- def entr1_foc(event):
- click()
- entr1.focus_set()
- wnd = Tk()
- canv = Canvas(wnd, width=200,height=200,background='white')
- canv.grid(row=0, columnspan=2)
- entr1 = Entry(wnd, width=5)
- entr1.grid(row=1,column=0, sticky=W)
- entr1.focus()
- entr1.bind('<Return>', entr2_foc)
- L1 = Label(wnd, text='Сторона')
- L1.grid(row=1,column=1, sticky=W)
- entr2 = Entry(wnd, width=5)
- entr2.grid(row=2,column=0, sticky=W)
- entr2.bind('<Return>', b1_foc)
- L2=Label(wnd, text='Тупой Угол (градусы)')
- L2.grid(row=2,column=1, sticky=W)
- B1 = Button(wnd, text='GO', command=click)
- B1.grid(row=3, sticky=W)
- B1.bind('<Return>', entr1_foc)
- wnd.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement