我如何引用我创建的 kivy 应用 class 实例?

How do I refer back to a kivy app class instance I have created?

from screen_selections import NameSelection
from kivy.app import App
from kivy.uix.screenmanager import ScreenManager

class ScreenManagerApp(App):

    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.stage = {}
    
    def build(self):
        sm = ScreenManager()
        sm.add_widget(NameSelection(name='name_selection'))
        return sm
    
    def write_to_console(self,input):
        print(input)
    

if __name__ == '__main__':
    ScreenManagerApp().run()

以上是我使用 Kivy 的主要 class。我之前问了一个很长的问题,但我希望这个问题更具体。

根据我在这里所做的,我直接在底部创建了一个 ScreenManagerApp 的实例并使用它的 运行 方法,这是 App parent class 中的一个方法。

我希望能够在我的代码中的任何地方,轻松地引用回这个应用程序实例(所以在本例中是 ScreenManagerApp()),因为我需要在这里存储可以在整个过程中引用的变量代码,但建议不要将它们创建为全局变量,这是更好的做法?

我知道我可能需要明确命名我的实例:

smApp = ScreenManagerApp()
smApp.run()

但我还是想不出访问我创建的这个新实例的最佳方式。

@JohnAnderson 在评论中回答,但我想结束这个问题。

App called get_running_app()中有一个静态方法,您可以在代码的任何地方使用它,它会返回到创建的实例。

我已经对此进行了测试并且它完全按预期工作,所以现在,我需要通过我在应用程序实例中定义的 类 保留的变量,并使用诸如此类的东西轻松地返回它们如:

App.get_running_app().example_variable

谢谢, 克雷格