digits
- параметр, доступный только для tk.Scale
.Если вы переключитесь на его использование, то ваш код будет работать:
scale = tk.Scale(root, orient=tk.HORIZONTAL, from_=1, to=5, variable=scaleValue, length=150, digits=5)
Но если вы действительно хотите использовать ttk.Scale
, вы можете использовать другой подход.Вместо использования textvariable
в вашем Label
вы можете отслеживать изменения в вашей переменной, сначала обрабатывать значение, а затем возвращаться к вашему Label
.
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
scaleValue = tk.DoubleVar()
scale = ttk.Scale(root, orient=tk.HORIZONTAL, from_=1, to=5, variable=scaleValue, length=150) # here digits ins't recongnised
scale.grid(column=0, row=0)
scaleValueLabel = tk.Label(root, text="0")
scaleValueLabel.grid(column=0, row=1)
def set_digit(*args):
scaleValueLabel.config(text="{0:.2f}".format(scaleValue.get()))
scaleValue.trace("w", set_digit)
root.mainloop()