Почему в Киви есть исключение для разбора? - PullRequest
0 голосов
/ 28 апреля 2018
AddLocationForm:

<AddLocationForm@BoxLayout>:orientation:"vertical"
    BoxLayout:
        TextInput:
        Button:
            text: "Search"
        Button:
            text: "Current Location"

У меня есть файл weather.kv, подобный приведенному выше, но я получаю сообщение об ошибке, как показано ниже

kivy.lang.parser.ParserException: Parser: файл "C: \ Programming \ projects \ scripts \ kivy \ FirstApp \ weather.kv", строка 3:

Может кто-нибудь объяснить мне, почему это происходит?

1 Ответ

0 голосов
/ 28 апреля 2018

ParserException - Неверные данные после объявления

   File "/usr/lib/python3/dist-packages/kivy/lang/parser.py", line 575, in parse_level
     'Invalid data after declaration')
 kivy.lang.parser.ParserException: Parser: File ".../weather.kv", line 3:
 ...
       1:AddLocationForm:
       2:
 >>    3:<AddLocationForm@BoxLayout>:orientation:"vertical"
       4:    BoxLayout:
       5:        TextInput:
 ...
 Invalid data after declaration

Объяснение

Вы сталкиваетесь со следующим ParserException , потому что когда ваш файл kv анализируется, он ничего не ожидает после объявления правила класса, : но он нашел ориентация: «вертикальная»

Руководство по программированию »Язык Kv» Контекст правила

Правило класса, объявленное именем класса виджета между <> и затем : определяет, каким будет любой экземпляр этого класса графически представлено:

Решение

weather.kv

AddLocationForm:

<AddLocationForm@BoxLayout>
    orientation: "vertical"
    TextInput:
    Button:
        text: "Search"
    Button:
        text: "Current Location"

выход

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...