Kivy Spinner的on_text似乎仅在值更改时做出反应

时间:2019-12-24 06:32:31

标签: python kivy

我想使用Spinner打印选定的元素。

我编写了以下测试代码。

main.py

#-*- coding: utf-8 -*-

from kivy.app import App
from kivy.uix.widget import Widget

from kivy.properties import StringProperty 

class TextWidget(Widget):
    text = StringProperty()    # プロパティの追加

    def __init__(self, **kwargs):
        super(TextWidget, self).__init__(**kwargs)
        self.text = ''

    def print_text(self,text):        # ボタンをクリック時
        print(text)


class TestApp(App):
    def __init__(self, **kwargs):
        super(TestApp, self).__init__(**kwargs)
        self.title = 'greeting'

    def build(self):
        return TextWidget()

if __name__ == '__main__':
    TestApp().run()

test.kv

TextWidget:

<TextWidget>:
    BoxLayout:
        size: root.size
        Spinner:
            id:softwarename_dropDownList
            size_hint: 1,0.3
            text: 'test1'
            values: 'test1', 'test2', 'test3'
            on_text: root.print_text(self.text)
        BoxLayout:
            size_hint: 1,0.7

但是,启动GUI时,即使在Spinner中选择了“ test1”,也不会打印任何内容。选择“ test2”后再次选择“ test1”时,将打印“ test1”。

enter image description here

Kivy Spinner的on_text似乎仅在值更改时做出反应。 即使值没有更改,有没有办法做出反应?

0 个答案:

没有答案