Python 具有非整数分辨率的Tkinter Scale小部件

Python 具有非整数分辨率的Tkinter Scale小部件,python,tkinter,Python,Tkinter,我正在尝试向我的应用程序中添加一个Tk.Scale小部件,但在将非整数值设置为resolution参数时遇到了一个问题。如果我将一个整数值传递给Scale构造函数,它会正常工作,但对于任何非整数值(比如0.1),我的Scale小部件都不会移动。它出现在正确的位置,看起来很好,但对我移动它的尝试没有反应 以下是我与创建scale小部件相关的代码: self.sliderValue = Tk.DoubleVar() self.slider = Tk.Scale(self.frame,

我正在尝试向我的应用程序中添加一个Tk.Scale小部件,但在将非整数值设置为resolution参数时遇到了一个问题。如果我将一个整数值传递给Scale构造函数,它会正常工作,但对于任何非整数值(比如0.1),我的Scale小部件都不会移动。它出现在正确的位置,看起来很好,但对我移动它的尝试没有反应

以下是我与创建scale小部件相关的代码:

    self.sliderValue = Tk.DoubleVar()
    self.slider = Tk.Scale(self.frame,
                           from_=float(self.lowerValue.get()),
                           to=float(self.upperValue.get()),
                           orient=Tk.HORIZONTAL,
                           length=180,
                           variable=self.sliderValue,
                           resolution=0.1, # Here is the problem
                           command=self.sliderMoved)
问题是我无法在我的应用程序之外复制此问题。换句话说,如果我只创建一个带有一个scale小部件的简单窗口,它可以使用任何分辨率值。因此,问题似乎隐藏在这个构造函数调用之外的某个地方,但我不知道在哪里。可能有人有同样的问题,可以建议我应该检查什么

补充: 这可能很重要:在独立(工作)情况下,滑块上方的值为“1.0”格式(以点为分隔符),在我的断开应用程序中为“1,0”格式(以逗号为分隔符)。这里可能发生了某种类型/格式不匹配

补充2:

以下是最简单的例子:

import Tkinter as Tk
from pylab import *

# cla()  # if you uncomment these two lines,
# clf()  # scale will break for non-int resolutions

root = Tk.Tk()

var = Tk.DoubleVar()
scale = Tk.Scale(root, from_=6.0, to=8.5, variable = var,
                resolution=0.1, orient=Tk.HORIZONTAL)
scale.grid(column=0, row=0, columnspan=3)

root.mainloop()

我刚刚更新到Ubuntu 16.04,这个问题似乎不再出现了(Python 2.7.11+)。

当分辨率为浮点时,似乎有某种东西会使程序死锁,如果不看到更多代码,就很难进行调试,请尝试构造一个。首先将代码包含到
self.sliderMoved
中,然后尝试在其中的各个点添加打印语句。如果问题只发生在您尝试移动滑块时,则问题可能存在。
'1,0'
不代表数字。Tadhg McDonald Jensen,即使我根本没有通过self.sliderMoved方法,问题仍然存在。TigerhawkT3,我知道,但我不明白为什么会变成这样。正在尝试创建MCVE。