我的问题是关于python和kivy。我目前正在使用python和kivy构建应用程序,但是我陷入了这一过程中非常重要的一步。我需要将一个屏幕的文本输入转换为另一屏幕上的标签...我已经尝试了一些技巧,但没有成功..我将非常感谢您的帮助。谢谢
答案 0 :(得分:0)
在下面的示例中,我们使用ids
来引用第二个屏幕中第一个屏幕中的TextInput小部件。有关详细信息,请参见代码段和示例。
ScreenManager:
FirstScreen:
id: first_screen
SecondScreen:
id: second_screen
<FirstScreen@Screen>:
name: 'firstScreen'
BoxLayout:
orientation: 'vertical'
TextInput:
id: user_input
text: 'testing-1-2-3'
...
<SecondScreen@Screen>:
name: 'secondScreen'
BoxLayout:
orientation: 'vertical'
Label:
# Accessing Widgets using ids
text: root.manager.ids.first_screen.ids.user_input.text
Kv language » Referencing Widgets
在小部件树中,通常需要访问/引用其他 小部件。 Kv语言提供了一种使用ID的方法来实现此目的
每个屏幕默认都有一个属性
manager
,该属性为您提供 使用的ScreenManager实例。
from kivy.lang import Builder
from kivy.base import runTouchApp
runTouchApp(Builder.load_string('''
#:kivy 1.11.0
ScreenManager:
FirstScreen:
id: first_screen
SecondScreen:
id: second_screen
<FirstScreen@Screen>:
name: 'firstScreen'
BoxLayout:
orientation: 'vertical'
TextInput:
id: user_input
text: 'testing-1-2-3'
Button:
text: 'Second Screen'
on_release:
root.manager.current = 'secondScreen'
<SecondScreen@Screen>:
name: 'secondScreen'
BoxLayout:
orientation: 'vertical'
Label:
# Accessing Widgets using ids
text: root.manager.ids.first_screen.ids.user_input.text
Button:
text: 'First Screen'
on_release:
root.manager.current = 'firstScreen'
'''))