У меня есть следующий код в Python:
from kivy.app import App
from kivy.uix.widget import Widget
class UI(Widget):
pass
class UIApp(App):
def build(self):
return UI()
def process(self):
text = self.ids.input.text
print(text)
и в UI.kv:
#:kivy 1.0.9
<UI>:
title: 'InputDialog'
auto_dismiss: False
id: 'test1'
RelativeLayout:
orientation: 'vertical'
pos: self.pos
size: root.size
id: 'test2'
TextInput:
id: 'input'
hint_text:'Enter compounds'
pos_hint: {'center_x': 0.5, 'center_y': 0.705}
size_hint: 0.95, 0.5
теперь, если я вызываю process (), я получаю ошибку 'UIApp' object has no attribute 'ids'
. Хорошо. Теперь я пытаюсь заменить self
на UI
: AttributeError: 'kivy.properties.DictProperty' object has no attribute 'input'
. Попытка обратиться к 'test1' также не помогла, равно как и удаление 'вокруг идентификаторов в файле .kv.
Есть ли способ получить входные данные из поля без создания этого поля программно?