为啥在 Kivy 中创建方法时需要“实例”变量?

Posted

技术标签:

【中文标题】为啥在 Kivy 中创建方法时需要“实例”变量?【英文标题】:Why do you need the 'instance' variable when creating a method in Kivy?为什么在 Kivy 中创建方法时需要“实例”变量? 【发布时间】:2021-05-16 14:13:36 【问题描述】:

我目前正在学习 Kivy 的基础知识,我注意到您需要 2 个参数来创建按钮方法:“self”(我希望如此)和“instance”(尽管我认为这可以是任何变量名)。为什么需要第二个变量“实例”作为按钮方法的参数?

    self.submit = Button(text = "Submit", font_size = 40)
    self.submit.bind(on_press = self.button_pressed)
    self.add_widget(self.submit)

    
def button_pressed(self, instance):
    FirstName = self.FirstName.text
    LastName = self.LastName.text
    Email = self.Email.text

【问题讨论】:

【参考方案1】:

您似乎正在关注与 (https://www.techwithtim.net/tutorials/kivy-tutorial/creating-buttons-triggering-events/) 上的指南类似的内容

在本例中,“self”是“MyGrid”对象的一个​​实例,其中包含 FirstName、LastName 和 Email 输入对象作为子对象。然后,“instance”是对被按下按钮的引用,在本例中为“提交”按钮。

【讨论】:

是的,我正在看他的 YT 教程!谢谢,现在说得通了。

以上是关于为啥在 Kivy 中创建方法时需要“实例”变量?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 kivy 中创建 60 秒倒数计时器

在 PHP 中,为啥可以在同一类类型的方法中创建的新实例上调用私有方法? [复制]

为啥直接在构造函数中创建 ES6 类的实例时 Jest 的 toThrow 不起作用?

有没有办法在 Kivy 中创建自定义属性?

如何在 Kivy 或 KivyMD 中创建类似快照的按钮?

如何使用 .kv 文件在 kivy 中创建下拉列表