Как получить значение, выбранное по шкале tkinter (scale.get () возвращает ноль)? - PullRequest
0 голосов
/ 30 марта 2019

Я пытаюсь создать графический интерфейс для запуска эксперимента с использованием 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.

Это мой код и slider.

Это вывод.

Скопировать комментарий : я попробовал следующее:

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))
...