如何在Python中使用tkinter的两个刻度滑块的值移动刻度滑块的滑块?

我想在 Python 的 tkinter 中制作三个比例滑块,我可以在其中移动前两个滑块,第三个滑块移动自身作为前两个滑块值的总和


我尝试使用以下代码,尝试将前两个的值设置为第三个。


from tkinter import *

master = Tk()

#First Scale

w1=Scale(master, from_=0, to=100,orient=HORIZONTAL) 

w1.pack() 

#Second Scale

w2=Scale(master, from_=0, to=200,orient=HORIZONTAL) 

w2.pack() 


#Third Scale where sum has to be shown

w3=Scale(master, from_=0, to=300,orient=HORIZONTAL) 

w3.set(w1.get()+w2.get())

w3.pack() 

mainloop()

期望是移动前两个滑块,第三个滑块将自身移动到前两个滑块值之和的值。


慕尼黑的夜晚无繁华
浏览 225回答 1
1回答

料青山看我应如是

您可以为前两个创建两个IntVar作为变量Scale,然后跟踪更改并设置第三个Scale。from tkinter import *master = Tk()#First Scalew1_var = IntVar()w1=Scale(master, from_=0, to=100, variable=w1_var, orient=HORIZONTAL)w1.pack()#Second Scalew2_var = IntVar()w2=Scale(master, from_=0, to=200, variable=w2_var, orient=HORIZONTAL)w2.pack()   #Third Scale where sum has to be shownw3=Scale(master, from_=0, to=300,orient=HORIZONTAL,state="disabled")w3.pack()def trace_method(*args):    w3.config(state="normal")    w3.set(w1.get() + w2.get())    w3.config(state="disabled")w1_var.trace("w", trace_method)w2_var.trace("w", trace_method)master.mainloop()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python