【发布时间】:2022-06-28 17:45:24
【问题描述】:
我正在尝试使用单选按钮来定义要在脚本的其余部分中使用的变量。
当我运行这段代码时,shift 总是 0。
我从网上复制并粘贴了类似的代码,但值始终为 0。
我正在使用 Spyder 运行 python3。
谢谢。
from tkinter import *
root = Tk()
def pixelShift():
shift = var.get()
print(shift)
var = IntVar()
Radiobutton(root,
text = '1 Pixel',
variable = var,
value = 1,
command = pixelShift
).pack(anchor = W)
Radiobutton(root,
text = '10 Pixels',
variable = var,
value = 10,
command = pixelShift
).pack(anchor = W)
Radiobutton(root,
text = '100 Pixel',
variable = var,
value = 100,
command = pixelShift
).pack(anchor = W)
root.mainloop()
【问题讨论】:
-
可能是spyder的问题?当我从命令行运行您的代码时,一切正常。您是否尝试过保存对单选按钮的引用? (例如:
rb1 = Radiobutton(...)、rb2 = ...、rb3 = ...) -
Tk()的实例很可能不止一个。
标签: python tkinter radio-button spyder