0

早安/晚安,

我想从旋转框中读取一个数字,如果它是 2,它应该打印一些东西。但是我的代码不起作用。我用滑块而不是旋转框尝试过它,它成功了。但对我来说,使用 spinbox 真的很重要,所以我希望有人有一个想法。

代码:

from tkinter import *
    def a():
      if spin.get()==2:
        print("Hello World")
root = Tk()
root.geometry('300x100')
spin =Spinbox(root, from_=0, to=10,command=a)
button = Button(root, text='Enter')
button.pack(side=RIGHT)
spin.pack(side=RIGHT)
root.mainloop()
4

1 回答 1

0

添加到@coolCloud 的答案中,我建议为 spinBox 设置一个文本变量。因此,如果用户使用条目更改它。它会自动更新。

像这样的东西:

from tkinter import *

def a(*event):
    if text.get()=='2':
        print("Hello World")

root = Tk()
root.geometry('300x100')

text = StringVar()
text.trace('w', a) # or give command=a in the button if you want it to call the event handler only when the button is pressed

spin =Spinbox(root, from_=0, to=10, textvariable=text)
button = Button(root, text='Enter')

button.pack(side=RIGHT)
spin.pack(side=RIGHT)

root.mainloop()
于 2021-01-05T16:01:58.297 回答