Python3 .7 Kivy spinner мгновенно падает - PullRequest
0 голосов
/ 09 марта 2020

пробую еще кое-что с Киви, а я возился с Спиннером. Как только я запускаю программу, она показывает следующую ошибку:

   9: text: 'Music'
  10: values: root.musList
  11: on_value: lambda: showselection(self,self.text)

AttributeError: значение

File "C:\Users\danburnier\AppData\Local\Continuum\anaconda3\lib\site-packages\kivy\lang\builder.py", line 725, in _apply_rule
raise AttributeError(key)

А вот и программа

from kivy.uix.boxlayout import BoxLayout
from kivy.app import App
from kivy.lang import Builder
from os import listdir

Builder.load_string('''

<mycls>:
    BoxLayout:
        Spinner:
            size_hint: None, None
            size: 100, 44
            pos_hint: {'center': (.5, .5)}
            text: 'Music'
            values: root.musList
            on_value: lambda: showselection(self,self.text)
''')

class mycls(BoxLayout):

    musicList = []
    musDir = r'C:\Users\danburnier\Desktop\PythonPrograms'
    musList = listdir(musDir)

    def showselection(spinner,text):
        print(spinner,text)

class mineapp(App):
    def build(self):
        return mycls()

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

1 Ответ

2 голосов
/ 09 марта 2020

Я думаю, что это ошибка в документации Spinner. Попробуйте заменить:

        on_value: lambda: showselection(self,self.text)

на:

        on_text: root.showselection(self,self.text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...