└── speed /speed: -------------------------------------------------------------------------------- 1 | import tkinter as tk 2 | 3 | class Speedometer(tk.Frame): 4 | def __init__(self, master=None, **kwargs): 5 | super().__init__(master, **kwargs) 6 | self.master = master 7 | self.speed = 0 8 | self.create_widgets() 9 | 10 | def create_widgets(self): 11 | self.canvas = tk.Canvas(self, width=300, height=300) 12 | self.canvas.pack() 13 | self.arc = self.canvas.create_arc(100, 100, 200, 200, start=0, extent=360) 14 | 15 | self.canvas.itemconfig(self.arc, fill='green') 16 | 17 | def update(self, speed): 18 | self.speed = speed 19 | angle = 360 * self.speed / 100 20 | self.canvas.itemconfig(self.arc, extent=angle) 21 | 22 | root = tk.Tk() 23 | speedometer = Speedometer(root) 24 | speedometer.pack(fill=tk.BOTH, expand=True) 25 | 26 | def update_speed(): 27 | speed = int(input("Введите скорость: скорость: ")) 28 | speedometer.update(speed) 29 | 30 | tk.Button(root, speedometer.update(speed) 31 | 32 | tk.Button(root, text="Обновить скорость", command=update_speed).pack() 33 | 34 | root.mainloop() 35 | --------------------------------------------------------------------------------