Что я должен сделать, чтобы увидеть 123
текст после нажатия Button
'Show 123'
?
Это работает, когда я раскомментирую Clock.schedule_interval
, но мне нужно, чтобы этот текст был редактируемым.Я вижу оба отпечатка "trigger"
и "show"
, но текст '123'
не отображается на входе.
Мне нужно, чтобы он работал с двумя классами.
from kivy.config import Config
Config.set('graphics', 'multisamples', '0')
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.clock import Clock
from kivy.uix.boxlayout import BoxLayout
kv = '''
#:import FadeTransition kivy.uix.screenmanager.FadeTransition
ScreenManagement:
transition: FadeTransition()
Show:
<First>:
Button:
text: "Show 123"
on_press: root.trigger_show()
<Second>:
TextInput:
id: textinput
<Show>
BoxLayout:
First:
Second:
'''
class ScreenManagement(ScreenManager):
pass
class Show(Screen):
pass
class First(BoxLayout):
def __init__(self, **kwargs):
super().__init__(**kwargs)
def trigger_show(self):
print("trigger")
s = Second()
s.show()
class Second(BoxLayout):
def __init__(self, **kwargs):
super().__init__(**kwargs)
#Clock.schedule_interval(self.show, 1)
def show(self): #(self, dt):
print('show')
self.ids.textinput.text = '123'
sm = Builder.load_string(kv)
class TestApp(App):
def build(self):
return sm
if __name__ == '__main__':
TestApp().run()