Я хочу использовать таймер для выборки значения шкалы каждую 1 секунду (должен имитировать автомобильный ускоритель)
Как добавить таймер в свой код?
Код: Выделить всё
import tkinter as tk
import ttkbootstrap as ttk
SCALE_VALUE_MIN = -20
SCALE_VALUE_MAX = 100
SCALE_VALUE_DEFAULT = 0
MAX_FORWARD_ACC = 3 # m/s^2
MAX_BACKWARD_ACC = MAX_FORWARD_ACC / 3
MAX_FORWARD_SPEED = 220 / 3.6 # 220 km/h to m/s
MAX_BACKWARD_SPEED = 20 / 3.6 # 20 km/h to m/s
def scaleupdate(value):
output_str.set(value)
def scalerelease(value):
scale.set(SCALE_VALUE_DEFAULT)
window = ttk.Window(themename= 'journal')
window.title('Demo')
window.geometry('300x150')
# frame
frame1 = ttk.Frame(master = window)
# min_label
min_label = ttk.Label(master = frame1, text = str(SCALE_VALUE_MIN))
min_label.pack(side = 'left', padx = 10)
# scale
scalevar = tk.DoubleVar()
scale = ttk.Scale(master = frame1, variable = scalevar, from_= SCALE_VALUE_MIN, to = SCALE_VALUE_MAX, orient = 'horizontal', command = scaleupdate)
scale.set(SCALE_VALUE_DEFAULT)
scale.bind('', scalerelease)
scale.pack(side = 'left', padx = 10)
# max_label
max_label = ttk.Label(master = frame1, text = str(SCALE_VALUE_MAX))
max_label.pack(side = 'left', padx = 10)
frame1.pack()
# label
output_str = tk.StringVar()
label = ttk.Label(master = window, font = 'Calibri 16', text = 'Scale value', textvariable = output_str)
label.pack(pady = 5)
# run
window.mainloop()
Мне нужен независимый внешний таймер, который выбирает значение ползунка и соответствующим образом обновляет скорость.
Я читал о threading.timer, но не понимаю, как интегрировать его с основным циклом.
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/786 ... -x-seconds