当分辨率高于1时,如何从Scale获取浮点值?如果我将分辨率设置为低于1,例如0.9,则Scale将给出浮点数。高于1,我能得到的只是整数。
示例代码:
from tkinter import *
root = Tk()
var = DoubleVar()
scale = Scale(root, variable=var, resolution=3.4)
scale.pack()
label = Label(root, textvariable=var)
label.pack()
root.mainloop()
我在Windows 7上使用64位64.4版。
答案 0 :(得分:0)
DoubleVar()
不允许控制Scale()
的UI表示(视觉部分)(小数点深度),而模型部分保持正确(虽然隐藏,可能会通过aScaleINSTANCE.get()
)。
from tkinter import * # python 3+
root = Tk()
varAsTxt = StringVar() # an MVC-trick an indirect value-holder
aScale = Scale( root,
variable = varAsTxt, # MVC-Model-Part value holder
from_ = -10.0, # MVC-Model-Part value-min-limit
to = 10.0, # MVC-Model-Part value-max-limit
length = 600, # MVC-Visual-Part layout geometry [px]
digits = 4, # MVC-Visual-Part presentation trick
resolution = 0.23 # MVC-Controller-Part stepping
)
aScale.pack()
root.lift()