python tkinter 从命令中使用的函数返回值

新手上路,请多包涵

我如何获得 A 到 C 的返回值?顺便说一句,我没有使用类。

 def button:
    mylabel = Label(myGui, text = "hi").grid(row = 0, column = 0)
    A = B.get()
    return A

B = StringVar()
C = ""
myentry = Entry(myGui, textvariable = B).grid(row = 1, column = 0)
Submit = Button(myGui, text = "Submit", command = button).grid(row = 1, column = 1)

原文由 menotyou 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 721
1 个回答

简短的回答:你不能。回调不能返回任何东西,因为没有地方可以返回它——除了事件循环,它不对返回值做任何事情。

在基于事件的应用程序中,您通常要做的是在类上设置一个属性。或者,如果您是初学者,您可以设置一个全局变量。对于必须随时间维护的真实代码,使用全局变量不是一个好主意,但它可以用于实验。

因此,例如,由于 C 在您的示例中似乎是一个全局变量,您可以执行以下操作:

 def button():
    global C
    mylabel = Label(myGui, text = "hi").grid(row = 0, column = 0)
    A = B.get()
    C = A

原文由 Bryan Oakley 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题