【问题标题】:Kivy Spinner on_text action when widget made on python-side在 python 端制作小部件时的 Kivy Spinner on_text 操作
【发布时间】:2018-10-06 04:50:25
【问题描述】:

我对类似于此问题的解决方案感兴趣: Kivy Spinner: is any event triggered when a value is selected from the Spinner

其中,我需要一个微调器来在其文本值更改时触发一个函数,但是当小部件完全从 python 端制作时,我需要这样做。

例如:

mySpinner = Spinner(text='Choose something', values=['1','2'], on_text=myFunction)

选择12 时不触发myFunction。但是,使用on_release 将触发,但在选择值之前。我怎样才能从纯粹的 python 方面解决这个问题?

【问题讨论】:

    标签: python kivy


    【解决方案1】:

    下面的示例说明了一个完全由 python 端制作的 Spinner 小部件。

    示例

    main.py

    ​​>
    from kivy.base import runTouchApp
    from kivy.uix.spinner import Spinner
    
    spinner = Spinner(
        # default value shown
        text='Choose something',
        # available values
        values=('1', '2'),
        # just for positioning in our example
        size_hint=(None, None),
        size=(150, 44),
        pos_hint={'center_x': .5, 'center_y': .5})
    
    
    def myFunction(spinner, text):
        print('The spinner', spinner, 'have text', text)
    
    
    spinner.bind(text=myFunction)
    
    runTouchApp(spinner)
    

    输出

    【讨论】:

    • 谢谢!作为对查看此 MWE 的未来编码人员的附注,请务必测试传递给 myFunction 的参数。比如我的spinner嵌入了屏幕,所以代码要修改为def myFunction(screen,spinner,text):
    猜你喜欢
    • 1970-01-01
    • 2017-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    相关资源
    最近更新 更多