【问题标题】:What is the difference between "func" and "func()" in TkInter? [duplicate]TkInter 中的“func”和“func()”有什么区别? [复制]
【发布时间】:2016-05-29 20:44:11
【问题描述】:

我有一个不带参数的 Python 函数。在我的代码中,我调用了这个函数两次。一次作为 Tkinter 按钮后面的命令,一次作为绑定到窗口的事件的函数。对于命令,我将该函数称为func,并且效果很好。对于该事件,只有当我将其称为 func() 并将函数的定义更改为:func(self) 时,它才会起作用。

为什么?如何使这两个调用兼容?

【问题讨论】:

  • 你能给我们看一个示例代码吗?只是写func 实际上并没有调用它,所以我假设您将它作为command 参数传递给按钮,但我不明白您第二次是如何使用它的......
  • 简而言之:使用可变数量的参数,如*args 或可选参数,如event=None
  • 您是否有一个可以发布的小示例来展示如何创建按钮和事件(即如何将函数绑定到按钮和事件)? func() 在这两种情况下都不起作用。

标签: python tkinter


【解决方案1】:

这是因为当您将函数绑定到按钮时,您并没有调用该函数,只是绑定它以便tkinter 知道按下按钮时该做什么。您只需在调用函数时使用func(),就像在事件中所做的那样。

【讨论】:

  • 这与将函数附加到不向函数发送事件的按钮以及绑定到确实发送事件的窗口的事件无关。 @WhyNot,这个答案真的解决了你的问题吗?如果没有,请注意您不需要接受答案,并且可以随时不接受。接受一个无益的答案只会让未来的读者感到困惑。
猜你喜欢
  • 2018-05-01
  • 2010-09-16
  • 2019-02-20
  • 2013-10-20
  • 2011-02-09
  • 1970-01-01
  • 2020-04-14
  • 2011-10-12
  • 2019-06-11
相关资源
最近更新 更多