我有一个- hosts: all
serial: 1
become: yes
tasks:
- name: Rebooting ...
reboot:
reboot_timeout: 60
,它已被添加到一个奇异的语言TextInput
规则中,并声明为从<MyLayout>:
继承的python类。然后,当单击另一个按钮时,上述规则会与某些按钮一起添加到BoxLayout
中。主要问题是,尽管我可以在ModalView
规则中获取按钮文本的一个实例,并将该文本传递给<MyLayout>:
,但似乎无法得到TextInput
文本输出通过名为TextInput
的函数。
我能猜到的唯一原因是因为process_output()
被垃圾回收了。没有错误,并且当输出为空时,控制台将打印回车,但是当我尝试TextInput
print()
文本时,屏幕会向上移动。
Python代码:
TextInput
Kivy代码:
class RootLay(FloatLayout):
def get_keys(self):
modal = ModalViewer()
the_key = MyLayout()
modal.add_widget(the_key)
modal.open()
def process_output(self):
mod = ModalViewer()
the_key = MyLayout()
the_output = the_key.ids.show_input.text
the_key.ids.show_input.text = ''
print(the_output)
mod.dismiss()
class MyLayout(BoxLayout):
show_input = ObjectProperty()
def __init__(self, **kwargs):
super(MyLayout, self).__init__(**kwargs)
btn = ['7', '8', '9', '4', '5', '6', '1', '2', '3', 'IN', '0', 'OUT']
key_padbtns = []
for b in btn:
key_padbtns.append({'text': b, 'size_hint': [1, 1]})
self.ids.view_keypad.data = key_padbtns
有人可以让我知道发生了什么事吗?