Co muszę zrobić aby po kliknięciu na Button
w TexInput
wyświetlić jakiś napis? Obecnie widzę napis gdy użyję schedule_interval
ale siłą rzeczy przez ciągłe odświeżanie nie daje mi to możliwości edycji. Po kliknięciu pojawiają się oba printy tzn "trigger" i "show" ale w TextInput
nie pojawia się napis.
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()