使用kivy从类继承变量

Inheriting variables from classes with kivy

我有一个 ScreenManagement 和其中的几个 class 继承屏幕 class。

每个 class 都有依次声明变量的方法。当您与程序交互时会发生变化的变量之一是登录变量。如何从图像上的任何 class 访问这些 classes 中的任何变量?

这是我的 MainProgram class 登录变量:

如何在具有相同class结构的MessagePage class中获取和使用MainProgram class中的登录变量? 换句话说,我需要以某种方式在程序中的所有页面之间传递变量。

  1. id: main_program 添加到 ScreenManagement: 的实例化子 (MainProgram:) 以便您可以引用在 class MainProgram
  2. 中声明的所有属性
  3. 要从 MessagePage 访问 MainProgram 中的 login 属性,请在 kv 文件中使用 root.manager.ids.main_program.login。在 python 代码中使用 self.manager.ids.main_program.login
  4. 添加导入语句,from kivy.properties import StringProperty
  5. 在 class MainProgram 中声明一个 class 属性,login = StringProperty('')

片段 - kv 文件

ScreenManagement:
    RegistrationPage:
    PageOne:
    MainProgram:
        id: main_program
    MessagePage:

片段 - py 文件

from kivy.properties import StringProperty

...

class MainProgram(Screen):
    login = StringProperty('')
    ...