我正在尝试在 tkinter scale 小部件上设置“to=”配置选项。我想从条目小部件获取用户输入并将其用作比例的上限。
按照我现在的设置方式,当用户在输入框中输入一个值并单击按钮后,比例会停留在 0。在用户更改变量后,“to=”配置选项似乎没有更新。
如何让比例小部件将其上限设置为新值?
代码如下:
import tkinter
class HomePage:
def __init__(self):
self.root = tkinter.Tk()
self.root.geometry('300x300')
self.entry_value = tkinter.IntVar()
self.entry_box = tkinter.Entry(master=self.root)
self.entry_box.pack(pady=10)
self.button = tkinter.Button(master=self.root, text='get value', command=self.set_value)
self.button.pack(pady=10)
self.scale = tkinter.Scale(master=self.root, from_=0, to=self.entry_value.get(), orient='horizontal')
self.scale.pack(pady=10)
self.show_entry_value = tkinter.Button(self.root, text='Updated Value',
command=lambda: print(self.entry_value.get()))
self.show_entry_value.pack()
def set_value(self):
self.entry_value.set(self.entry_box.get())
app = HomePage()
app.root.mainloop()
最佳答案
使用configure
方法改变值:
self.scale.configure(to=the_new_value)
关于python - 如何让 tkinter scale 小部件将其上限设置为更新的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40589834/