如何使用单选按钮为Python中的变量赋值?

2024-09-28 22:34:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用python中的单选按钮为变量赋值,代码如下:

def print_me():
global payment
global membership

if studentMemString == "PY_VAR0":
    membership = "STUDENT"
    payment = studentMem
elif adultMemString == "PY_VAR10":
    membership = "ADULT"
    payment = adultMem
elif childMemString == "PY_VAR0":
    membership = "CHILD"
    payment = childMem
else:
    pass
print(membership)
print(payment)


root = tk.Tk()
studentMem = tk.StringVar()
studentMemString = str(studentMem)

adultMem = tk.StringVar()
adultMemString = str(adultMem)

childMem = tk.StringVar()
childMemString = str(childMem)


studentRadBtn = tk.Radiobutton(root, text="Student - £19.99", 
variable=studentMem, value= 19.99)
studentRadBtn.pack()
adultRadBtn = tk.Radiobutton(root, text="Adult - £34.99", variable=adultMem, 
value= 34.99)
adultRadBtn.pack()
childRadBtn = tk.Radiobutton(root, text="Child - £5.99", variable=childMem, 
value=5.99)
childRadBtn.pack()

button = tk.Button(root, text="click", command=print_me)
button.pack()

root.mainloop()

(更新)好的,现在的问题是,当我启动程序时,所有的单选按钮都是活动的,不管我试着点击哪一个,唯一被调用的是第一个。为什么他们都被选中了?在


Tags: textpyrootpaymentvariablepacktkmembership
1条回答
网友
1楼 · 发布于 2024-09-28 22:34:05

在下面的代码中,单选按钮在选中时更改变量v的值。v的初始值是"2",因此默认情况下选择了第二个单选按钮。在

import tkinter as tk

root = tk.Tk()

v = tk.StringVar()
v.set("2")

tk.Label(root, textvariable=v).pack()

tk.Radiobutton(root, text="one", variable=v, value="1").pack()
tk.Radiobutton(root, text="two", variable=v, value="2").pack()
tk.Radiobutton(root, text="three", variable=v, value="3").pack()

root.mainloop()

相关问题 更多 >