【发布时间】:2015-01-03 18:27:19
【问题描述】:
我尝试制作一个具有两个屏幕的应用程序,一个带有 Textinput,另一个带有 Label,用于显示 TextInput 的文本。 我试图通过在应用程序类中创建一个 StringProperty 来做到这一点,但我在访问该属性时遇到了问题。 我想知道如何访问变量。 以下是源代码:
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.properties import StringProperty
from kivy.uix.boxlayout import BoxLayout
class Manager(ScreenManager):
pass
class FirstScreen(Screen):
pass
class SecondScreen(Screen):
pass
root_widget = Builder.load_string('''
Manager:
FirstScreen:
SecondScreen:
<FirstScreen>:
name: 'first'
BoxLayout:
orientation: 'vertical'
TextInput:
id: my_text
font_size: 50
Button:
id: b1
text: 'Go to next Screen'
on_release: app.root.current = 'second'
<SecondScreen>:
name: 'second'
BoxLayout:
orientation: 'vertical'
Label:
id: my_Label
text: root.txt
Button
id: b2
text: 'Go back'
on_release: app.root.current = 'first'
''')
class Caption(App):
txt = StringProperty('')
def build(self):
return root_widget
Caption().run()
【问题讨论】:
-
我在这里回答了一个非常相似的问题,如果你研究代码,你应该会得到你想要的。 stackoverflow.com/questions/27362687/…
标签: python-2.7 properties kivy