Python Kivy:如何将特定对象从屏幕 A 传输到屏幕 B?
Python Kivy: How can I transfer a particular Object from Screen A to Screen B?
我在申请时对 Python Kivy 非常陌生。
现在我正在制作一个可以访问数据库并通过应用程序操作数据的应用程序。
为了让我自由地做这件事,我想我必须自由地 transfer/pass data(object-other than string)
从一个屏幕到另一个屏幕。
Desired Data: VO class 将被分配以传输多种类型的数据
我目前可以通过以下代码传输单个字符串:
self.manager.get_screen('screen_1').ids.label_id.text = desired_text
但使用这种方法似乎有局限性
我随意transfer/pass非字符串类型的数据从一个屏幕传到另一个屏幕
好像我正在共享类似于我在下面作为示例显示的数据:
class Test:
def __init__(self.):
vo = testVO()
name = vo.name
print(name)
class testVO()
__name = ''
@property
def name(self):
return self.__name
def __init__(self):
self.__name = 'mike'
if __name__ == '__main__':
Test()
控制台:
麦克
非常感谢您的善意和支持。
如果您在 Screen
中定义了一个 ObjectProperty
,那么您可以将任何对象传递给它:
class MyScreen(Screen):
some_obj = ObjectProperty(None)
如果这个 Screen
的名称是 screen_1
,那么您可以传递一个对象为:
self.manager.get_screen('screen_1').some_obj = any_object
我在申请时对 Python Kivy 非常陌生。
现在我正在制作一个可以访问数据库并通过应用程序操作数据的应用程序。
为了让我自由地做这件事,我想我必须自由地 transfer/pass data(object-other than string) 从一个屏幕到另一个屏幕。 Desired Data: VO class 将被分配以传输多种类型的数据
我目前可以通过以下代码传输单个字符串:
self.manager.get_screen('screen_1').ids.label_id.text = desired_text
但使用这种方法似乎有局限性
我随意transfer/pass非字符串类型的数据从一个屏幕传到另一个屏幕 好像我正在共享类似于我在下面作为示例显示的数据:
class Test:
def __init__(self.):
vo = testVO()
name = vo.name
print(name)
class testVO()
__name = ''
@property
def name(self):
return self.__name
def __init__(self):
self.__name = 'mike'
if __name__ == '__main__':
Test()
控制台: 麦克
非常感谢您的善意和支持。
如果您在 Screen
中定义了一个 ObjectProperty
,那么您可以将任何对象传递给它:
class MyScreen(Screen):
some_obj = ObjectProperty(None)
如果这个 Screen
的名称是 screen_1
,那么您可以传递一个对象为:
self.manager.get_screen('screen_1').some_obj = any_object