-1
我想向我的應用程序添加一個Tk.Scale小部件,但是我在將非整數值設置爲分辨率參數時遇到問題。如果我將一個整數值傳遞給Scale構造函數,它可以正常工作,但對於任何非整數值(比如說0.1),我的縮放小部件不會移動。它出現在正確的地方,看起來很好,但沒有迴應我的移動嘗試。非整數分辨率的Tkinter 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)
的問題是,我不能重現我的應用程序之外的這個問題。換句話說,如果我只創建一個具有一個縮放小部件的簡單窗口,它可以處理任何分辨率值。所以看起來這個問題隱藏在這個構造函數調用之外的某個地方,但我無法弄清楚它在哪裏。可能是有人有同樣的問題,並可以告訴我我應該檢查什麼。
此外: 可能是重要的:在獨立(工作)的情況下,滑塊上面的值是「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()
它聽起來像是有什麼東西,當解決方案是浮動死鎖,這是真的很難調試,如果沒有看到更多的代碼,請嘗試構建[MCVE](http://stackoverflow.com/help/mcve )。 –
首先將代碼添加到'self.sliderMoved'並嘗試在其中的各個位置添加打印語句。如果問題只發生在您嘗試移動滑塊時,問題可能就在那裏。 –
''1,0''不代表數字。 – TigerhawkT3