检索另一个类中的变量值

发布于 2025-01-12 06:39:21 字数 416 浏览 0 评论 0原文

我正在使用 kivy + kivyMD 和 Pyrebase,来执行登录游戏或从 Firebase 返回“用户”变量,我想使用此变量在 Login 类中随时重新连接。

或者问题是,当我正确登录或正确登录时,它会将我定向到另一个课程,然后我无法再恢复该值。

下面是一个可以帮助我的极简示例:

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

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

简化示例

I'm using kivy + kivyMD and pyrebase, to do the login game or return from Firebase in a "user" variable, I want to use this variable to reconnect at any time inside the Login class.

Or problem is when I do or login correctly it directs me to another class and then I can't recover this value anymore.

Below is an example that is minimalist to guide me that can help me:

On line 117 I have a variable with any value.
I would like to use this variable in a class that I HAVE to create in the fabric "scr 1" in line 44 (Note that I still do not create a class because I am giving a minimalist example)

I would like to obtain this value through the python code and not in the kv file.

reduced example

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

め可乐爱微笑 2025-01-19 06:39:21

您可以按如下方式实现:

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

                MDLabel:
                    id: user_name
    .
    .
    .
  1. 现在在 TelaLogin 类的方法 login 中,
    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'.

You may achieve that as follows :

  1. Create an ObjectProperty in MainScreen to refer the target label as,
class MainScreen(Screen):
    user_name = ObjectProperty()
  1. Then in kvlang of MainScreen,
<MainScreen>:
    user_name: user_name
    .
    .
    .
            Screen:
                name: "scr 1"

                MDLabel:
                    id: user_name
    .
    .
    .
  1. Now in method login of class 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'.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文