0

我是 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,它可以正常工作。为什么?

非常感谢

4

1 回答 1

2

不要get()在这里使用。只需使用变量。像这样:

SpB1 = Spinbox(FrInitial, values = vals1, textvariable=SpB1Var)
于 2020-12-30T21:04:11.603 回答