在另一个 class 中检索变量值
Retrieve variable value in another class
我正在使用 kivy + kivyMD 和 pyrebase 来做登录游戏或 return 来自 Firebase 的“用户”变量,我想使用这个变量在登录 class.
或者问题是,当我正确登录或正确登录时,它会将我引导至另一个 class,然后我无法再恢复此值。
下面是一个极简主义的例子,可以指导我,对我有帮助:
在第 117 行,我有一个具有任意值的变量。
我想在我必须在第 44 行的结构“scr 1”中创建的 class 中使用这个变量(请注意,我仍然没有创建 class 因为我给出了一个极简主义的例子)
我想通过 python 代码而不是在 kv 文件中获取此值。
您可以通过以下方式实现:
- 在
MainScreen
中创建一个 ObjectProperty
以将目标标签引用为,
class MainScreen(Screen):
user_name = ObjectProperty()
- 然后在
MainScreen
的 kvlang
中,
<MainScreen>:
user_name: user_name
.
.
.
Screen:
name: "scr 1"
MDLabel:
id: user_name
.
.
.
- 现在在 class 的方法
login
中 TelaLogin
,
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'.
我正在使用 kivy + kivyMD 和 pyrebase 来做登录游戏或 return 来自 Firebase 的“用户”变量,我想使用这个变量在登录 class.
或者问题是,当我正确登录或正确登录时,它会将我引导至另一个 class,然后我无法再恢复此值。
下面是一个极简主义的例子,可以指导我,对我有帮助:
在第 117 行,我有一个具有任意值的变量。 我想在我必须在第 44 行的结构“scr 1”中创建的 class 中使用这个变量(请注意,我仍然没有创建 class 因为我给出了一个极简主义的例子)
我想通过 python 代码而不是在 kv 文件中获取此值。
您可以通过以下方式实现:
- 在
MainScreen
中创建一个ObjectProperty
以将目标标签引用为,
class MainScreen(Screen):
user_name = ObjectProperty()
- 然后在
MainScreen
的kvlang
中,
<MainScreen>:
user_name: user_name
.
.
.
Screen:
name: "scr 1"
MDLabel:
id: user_name
.
.
.
- 现在在 class 的方法
login
中TelaLogin
,
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'.