如何解决Kivy Python:将变量和实例从类屏幕传递到另一个类屏幕
当我在 Python 和 Kivy 应用程序中从一个屏幕传递到下一个屏幕时,我需要带一些变量或前一个实例“Self”。 例如,在我的代码中,我在 Kivy 文件中使用了 FirstLayout(Screen) Info 变量,就可以了。 之后,我需要在 LoginId(Screen) 类中使用相同的变量 Info。 我不能,因为我不能在新类中传递前一个实例。我需要前一个实例“Self”来保持 .py 和 .kv 之间的通信
from kivymd.app import MDApp
from kivy.uix.widget import Widget
from kivy.uix.screenmanager import ScreenManager,Screen,SlideTransition
from kivy.core.window import Window
from kivy.properties import StringProperty,ListProperty
class FirstLayout(Screen):
Info = ListProperty([])
def check(self):
L = ['aa',12]
self.manager.get_screen('First').Info = L
class LoginId(Screen):
#I need to obtain the Info Variable,I can't use FirstLayou.Info,#I can't use FirstLayoutmanager.get_screen('First').Info
pass
class MainApp(MDApp):
def build(self):
manager = ScreenManager()
manager.add_widget(FirstLayout(name='First'))
manager.add_widget(LoginId(name='Login'))
return manager
if __name__ == "__main__":
MainApp().run()
解决方法
我的错是我在 '''def init(self,**kwargs):''' 中调用了信息值 但是我需要在以下位置调用信息值: ''' def on_enter(self,*largs): 打印(self.manager.get_screen('First').Info[6])'''
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。