import time from tkinter import * import socket import threading zaustavi = False def klijent_(): global zaustavi s = socket.socket() host = socket.gethostname() port = 12345 if len(unos.get()) > 0: s.connect((host, port)) prosledi = '' prosledi += unos.get() + ':' prosledi += rb.get() + ':' s.send(prosledi.encode()) odg = s.recv(1024).decode() lb.insert(0, odg) if odg.__contains__('Zaustavljena animacija'): zaustavi = True s.close() def animacija(): arc = canvas.create_arc(20, 20, 280, 150, start=0, extent=180, fill='red') ugao = 0 while True: line = canvas.create_arc(20, 20, 280, 150, start=0, extent=ugao) ugao += 10 if ugao == 190: ugao = 0 time.sleep(0.2) canvas.delete(line) if zaustavi == True: canvas.delete(arc) break ugao = 180 while True: arc = canvas.create_arc(20, 20, 280, 150, start=0, extent=ugao, fill='red') ugao -= 10 time.sleep(0.2) canvas.delete(arc) if ugao == -10: break root = Tk() canvas = Canvas(root, width=300, height=200, bg='yellow') canvas.pack() ime = Label(root, text='Ime', bg='blue', fg='white') ime.pack() unos = Entry(root) unos.pack() rb = StringVar() rb1 = Radiobutton(root, variable=rb, text='Vreme', value='VREME') rb1.pack() rb2 = Radiobutton(root, variable=rb, text='Kraj', value='KRAJ') rb2.pack() btn = Button(root, text='Posalji', command=klijent_) btn.pack() lb = Listbox(root, width=30, height=15) lb.pack() t = threading.Thread(target=animacija) t.start() root.mainloop()