如何获得在tkinter规模上选择的值(scale.get()返回零)?

时间:2019-03-30 07:18:38

标签: python python-3.x debugging tkinter tkinter-scale

我正在尝试创建一个GUI来使用tkinter进行实验。我需要将用户在“缩放”小部件上选择的值分配给一个名为“金额”的变量。 但是,无论我在Scale上的什么位置,scale.get()始终将值0分配给数量。

关于Scale小部件的大多数答案似乎都暗示scale.get()对其他所有人都可以正常使用,因此我不确定自己做错了什么。 我正在使用Python 3,并且编写了以下代码来仅测试get方法:

import tkinter as tk

root = tk.Tk()
root.title("Test")
slider = tk.Scale(orient='horizontal', label = 'Amount', length = 500, from_= 0, to = 1000, bg = 'white', fg = 'black', sliderlength = 20)

amount = slider.get()
slider.pack()
print (amount)
root.mainloop()

根据其他答案,amount应该等于我在slider上选择的任何值。但是print命令会打印0

This is my code and the slider.

This is the output.

  

复制评论:我尝试了以下操作:

def get_value(var): 
    amount = var.get() 
    return amount 

var = tk.DoubleVar() 
scale = tk.Scale( root, variable = var ) 
scale.pack(anchor=CENTER) 
print (get_value(var))

0 个答案:

没有答案