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文件中看什麼?