Kivy - 如何在激活时将功能绑定到复选框

Posted

技术标签:

【中文标题】Kivy - 如何在激活时将功能绑定到复选框【英文标题】:Kivy--how to bind a function to a checkbox when activated 【发布时间】:2017-01-19 15:29:23 【问题描述】:

我有一个使用 kivy 复选框的 Python 程序。

有没有办法让程序在复选框被禁用/启用时立即调用函数?

请注意,active 属性不会起作用,因为这只是一次,必须使用无限 while 循环来检查用户是否激活了它,这会使一切变得复杂。

【问题讨论】:

【参考方案1】:

你可以这样做:

from kivy.uix.checkbox import CheckBox

...

def do_something(checkbox, value):
    # Do something

checkbox = CheckBox()
checkbox.bind(active=do_something)

【讨论】:

好吧,我试试,不知道 you8 能这么简单,因为文档中说 active 是一个布尔属性 @Cid-El 很高兴接受答案。谢谢 谢谢,我认为这也很好,但据我所知,堆栈溢出是为了接受回答问题的答案,直到现在我还没有尝试过, 另一件事,如果是你对我的问题投了反对票,你这样做的理由是什么?我的问题是完全可以接受的,据我所知,它不是重复的,所以如果你的问题有问题,而不是仅仅投反对票,并要求我接受答案,你介意告诉我什么是问错了吗? 哦,我必须道歉,我错了,我疯了,对不起,你的回答完全符合我的目的【参考方案2】:

您可以在其中使用带有 lambda 函数的 on_release 关键字。喜欢:

from kivy.uix.checkbox import CheckBox

def do_something(checkbox, active, value): ## value is optional
    if active:
       print(value)
 

checkbox = CheckBox()
checkbox.bind(on_release = lambda x: do_something(x, x.active, "hello"))

【讨论】:

以上是关于Kivy - 如何在激活时将功能绑定到复选框的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Kivy 中默认选中复选框?

如何在选择列表项时将文本框附加到来自共享点列表的复选框列表项

如何在复选框打勾时将一个文本框中输入的数据显示到另一个文本框?

如何使用复选框实现 kivy ScrollView?

加载时将调整大小功能绑定到图像

如何在IntelliJ IDEA中禁用“粘贴时将Java转换为Kotlin”?