在另一个 class 中检索变量值

Retrieve variable value in another class

我正在使用 kivy + kivyMD 和 pyrebase 来做登录游戏或 return 来自 Firebase 的“用户”变量,我想使用这个变量在登录 class.

或者问题是,当我正确登录或正确登录时,它会将我引导至另一个 class,然后我无法再恢复此值。

下面是一个极简主义的例子,可以指导我,对我有帮助:

在第 117 行,我有一个具有任意值的变量。 我想在我必须在第 44 行的结构“scr 1”中创建的 class 中使用这个变量(请注意,我仍然没有创建 class 因为我给出了一个极简主义的例子)

我想通过 python 代码而不是在 kv 文件中获取此值。

reduced example

您可以通过以下方式实现:

  1. MainScreen 中创建一个 ObjectProperty 以将目标标签引用为,
class MainScreen(Screen):
    user_name = ObjectProperty()
  1. 然后在 MainScreenkvlang 中,
<MainScreen>:
    user_name: user_name
    .
    .
    .
            Screen:
                name: "scr 1"

                MDLabel:
                    id: user_name
    .
    .
    .
  1. 现在在 class 的方法 loginTelaLogin,
    def login(self):
        user = 'Helo im user'
        manager = self.manager
        manager.current = 'main'
        manager.current_screen.user_name.text = user
        # You can also use method 'get_screen'.