我正在使用 tkinter 并尝试在按下按钮时为全局变量分配一个值。这是代码:
popup.add_command(label="Allow Moving Item", command=lambda: allowMoving=True)
我收到无效语法。你能告诉我如何解决这个问题吗?
最佳答案
仅供娱乐。
popup.add_command(label="Allow Moving Item",
command=lambda: globals().update(allowMoving=True))
(虽然 globals()
没有记录与 locals()
相同的“不要修改返回值”警告,但我仍然不确定这是保证工作。)
更好的答案是使用 def
语句来定义回调。
def set_allow_moving():
global allow_moving # Don't use camel case for variable names in Python
allow_moving = True
popup.add_command(label="Allow Moving Item", command=set_allow_moving)
关于python - lambda 给全局变量赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42211594/