问题描述
我是 Tkinter 的新手,我正在开发一个包含 2 个 SpinBox 的应用程序。 代码如下:
from tkinter import *
vals1 = [1,3,5,7]
vals2 = [2,4,6,8,10]
root = Tk()
SpB1Var = DoubleVar()
SpB2Var = DoubleVar()
FrInitial = Frame(root,width=800,height=400,bg="blue")
FrInitial.pack()
SpB1=SpinBox(FrInitial,values=vals1,textvariable=SpB1Var.get())
SpB1.place(x=281,y=130)
SpB2=SpinBox(FrInitial,values=vals2,textvariable=SpB2Var.get())
SpB2.place(x=581,y=130)
root.mainloop()
当我运行它并更改一个 SpinBox 的值时,另一个立即更改值。
我怎样才能让它们独立工作? 如何将第一个 SpinBox 的默认值设置为 5 而不是 1?
如果我用 Scales 更改 SpinBoxes,它工作正常。为什么?
非常感谢
解决方法
请勿在此处使用 get()
。只需使用变量。像这样:
SpB1 = Spinbox(FrInitial,values = vals1,textvariable=SpB1Var)