Проблема, которую вы указываете, заключается в том, что вы неправильно указываете заголовок в .kv как документы указывает:
Синтаксис файла kv
Файл языка Kivy должен иметь расширение имени файла .kv.
Содержимое файла всегда должно начинаться с заголовка Kivy, где версия должна быть заменена используемой версией языка Kivy. А пока используйте 1.0:
#:kivy 1.0
# content here
В вашем случае вы используете #:kivy !
и повторяете это 2 раза без необходимости.
С другой стороны, у вас есть другие ошибки:
Только из объекта доступны из .kv, в вашем случае текущая температура не.
Если вы собираетесь указать измерение с помощьюединицы измерения должны быть в виде строк.
Метод сборки должен возвращать объект, а не класс. В вашем Initial
классе, который является классом, чтобы вернуть объект, вы должны создать его экземпляр, используя Initial()
Учитывая вышеизложенное, решение:
#!/usr/bin/python
import kivy
kivy.require("1.11.1")
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import StringProperty
class Inicial(BoxLayout):
<b>temperaturaActual = StringProperty()</b>
def __init__(self, **kwargs):
super(Inicial, self).__init__(**kwargs)
<b>self.temperaturaActual = "°C"</b>
class MainApp(App):
def build(self):
return <b>Inicial()</b>
if __name__ == "__main__":
MainApp().run()
<b>#:kivy 1.11.1</b>
<Inicial>:
Label:
id: "temperatura"
text: root.temperaturaActual
size_hint: (.25, .25)
pos_hint: {'center_x': .05, 'center_y': .55}
<b>font_size: "60sp"</b>
font_name: 'C:/Users/mateo/AppData/Local/Microsoft/Windows/Fonts/Roboto-Light'