【问题标题】:Kivy Switch on_activeKivy 开关 on_active
【发布时间】:2015-02-16 08:11:02
【问题描述】:

我想使用 Kivy Switch 来打开/关闭某些东西。我正在尝试坚持:http://kivy.org/docs/api-kivy.uix.switch.html,但没有 .kv 示例。

我有以下代码,抽象为问题。

main.py:

def PID_an_aus(self, instance, value):
        if value is True:
            do something
        else:
            do something else

kv 文件:

Switch:
    on_active: root.PID_an_aus()

只要我不点击开关,GUI 就可以正常工作。一旦我点击开关,程序就会关闭而不会出现错误。

我觉得有点傻,知道的,有人能指教一下吗?提前致谢!

【问题讨论】:

    标签: python callback switch-statement kivy


    【解决方案1】:

    函数被删除为...

    def PID_an_aus(self, instance, value):
    

    ...但是你用...来称呼它

    on_active: root.PID_an_aus()
    

    问题是你没有用任何参数调用它,而你声明它期望两个。

    你可以这样做

        on_active: root.PID_an_aus(self, self.active)
    

    只要我点击开关,程序就会关闭而不会出现错误。

    这里真的没有回溯吗?你应该得到一个“函数收到错误数量的参数(预期 3 得到 1)”或类似的。

    【讨论】:

    • 现在工作得很好,谢谢。不,没有回溯:(
    猜你喜欢
    • 2019-03-09
    • 2023-03-09
    • 2020-06-29
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    • 1970-01-01
    • 2019-10-22
    相关资源
    最近更新 更多