Если вы используете что-то вроде IntVar()
для отслеживания значения, вы можете видеть, что оно автоматически обновляется функцией, которая проверяет текущее значение.
Если вы хотите, чтобы значение отображалось и возвращалось как число с плавающей точкой, вы можете использовать DoubleVar()
, а затем также установить resolution=0.01
в качестве аргумента в виджете Scale.
import tkinter as tk
class Example(tk.Tk):
def __init__(self):
super().__init__()
self.int_var = tk.IntVar()
self.scale = tk.Scale(self, from_=1, to=100, variable=self.int_var)
self.scale.pack()
tk.Button(self, text="Check Scale", command=self.check_scale).pack()
def check_scale(self):
print(self.int_var.get())
if __name__ == "__main__":
Example().mainloop()
Результаты:

Например, используя DoubleVar()
, вы можете сделать это:
import tkinter as tk
class Example(tk.Tk):
def __init__(self):
super().__init__()
self.dou_var = tk.DoubleVar()
self.scale = tk.Scale(self, from_=1, to=100, resolution=0.01, variable=self.dou_var)
self.scale.pack()
tk.Button(self, text="Check Scale", command=self.check_scale).pack()
def check_scale(self):
print(self.dou_var.get())
if __name__ == "__main__":
Example().mainloop()
Результаты:
