如何使单选按钮检测时,一个按钮已经按下?



我试图使它,所以当一个按钮已经按下它说它已经按下。有什么办法吗?

from tkinter import *
selected = ()
def push():
if (x.get()) == 0:
if selected == "pizza":
print("pizza is already selected")
else:
selected = ("pizza")
print("you have selected pizza")
elif(x.get()) == 1:
print("you selected cheeseburger")
else:
print("you selected hotdog")
food = ["pizza", "Cheeseburger", "hotdog"]
window = Tk()
window.title("radio buttons")
window.geometry("500x500")
x = IntVar()
for index in range(len(food)):
radiobutton = Radiobutton(window,
text=food[index],
variable=x,
value=index,
padx = 25,
pady=25,
font=("impact", 50),
indicatoron=0,
width= 100,
command=push
)
radiobutton.pack(anchor=W)
window.mainloop()

在push函数中,我尝试添加selected = "然后当按钮被按下的时候输入selected = ("pizza")但是它从"披萨

这是我想出来的(它只改变了"push"函数):

selected = -1
def push():
global selected
if x.get() == 0:
if selected == 0:
print("pizza is already selected")
else:
print("you have selected pizza")
selected = 0
elif x.get() == 1:
if selected == 1:
print("hamburger is already selected")
else:
print("you have selected hamburger")
selected = 1
else:
if selected == 2:
print("hotdog is already selected")
else:
print("you have selected hotdog")
selected = 2

现在解释来了。首先,创建全局变量"selected";它记录了被选择的东西。最初,它被赋值为-1因为当它被赋值为1时,你的程序会输出" pizza is already chosen "这在一开始就不是真的。其次,你有第一个if语句选择了单选按钮,第二个if语句在里面,它决定这个按钮是否已经被选中。请随便问任何问题!

相关内容

最新更新