0
我试图从介绍屏幕获取昵称,然后在标签中使用此昵称构建聊天屏幕。但是,我无法让我的功能正确地使用ID。在另一个Kivy屏幕上编辑小部件
.kv:
#: import FadeTransition kivy.uix.screenmanager.FadeTransition
Screens:
transition: FadeTransition()
Intro
Chat
<Intro>:
id: intro
TextInput:
id: intro_text
...
Button:
...
on_press: root.intro_bt_press()
<Chat>:
name: "main"
Label:
id: lb_name
的.py:
from kivy import require
require("1.9.1")
from kivy.app import App
from kivy.uix.screenmanager import Screen, ScreenManager, FadeTransition
from kivy.lang import Builder
nick = ""
class Chat(Screen):
lb_name.text = "Chat with {}".format(nick)
class Intro(Screen):
global nick
def intro_bt_press(self):
nick = intro_text.text
App.get_running_app().root.current = "main"
class Screens(ScreenManager):
pass
Screens = Builder.load_file("chat.kv")
class Chat(App):
def build(self):
return Screens
if __name__ == "__main__":
Chat().run()
所以按下按钮时,我想从的TextInput文本,切换到主屏幕和格式化标签与文字的屏幕。我无法将文本分配给变量“nick”,因为它表示它没有被定义。 lb_name也是如此,但我甚至无法通过第一个错误。我在id之前丢失了什么,告诉Python,在kv文件中看什么?