首页 > 解决方案 > 从不同的类访问具有特定 id 的小部件

问题描述

我正在努力寻找一种在另一个类中通过其 id 访问小部件的方法。

这里有一个代码示例,可以让您轻松理解。

class LoginScreen(Screen):
    def login(self, username, password):
        if user_exists(username, password):
             self.manager.current = "login_success"
class LoginSuccess(Screen):
    pass

.kv

<LoginSuccess>
    Label:
        id: greeting
        text: "" #this should be "Hey, "+username

我可以在 LoginScreen 类的 login 方法中访问用户名,但我需要在 LoginSuccess 类中使用该变量。我怎样才能做到这一点

标签: pythonkivy

解决方案


仍然缺少一些信息(name您的属性LoginSuccess Screen)。在您的login()方法中尝试:

self.manager.get_screen("the_name_of_your_LoginSuccess_Screen").ids.greeting.text = "Hey, "+username

推荐阅读