Python Киви: Как я могу перенести конкретный объект с экрана A на экран B? - PullRequest
1 голос
/ 05 августа 2020

Я очень новичок в Python Kivy в создании приложений.

Сейчас я создаю приложение, которое может получить доступ к БД и управлять данными через приложение.

Для меня чтобы свободно делать это, я думаю, мне нужно свободно передавать / передавать данные (объект, отличный от строки) с одного экрана на другой. Желаемые данные: будет назначен класс VO для передачи нескольких типов данных.

В настоящее время я могу передавать отдельные строки с помощью кода ниже:

self.manager.get_screen('screen_1').ids.label_id.text = desired_text

, но с помощью этого метода похоже, имеет ограничение.

Я свободно хочу передавать / передавать данные нестрокового типа с одного экрана на другой, как если бы я делился данными, подобными тем, которые я показал ниже в качестве примера:

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()

console: mike

Будем признательны за вашу доброту и поддержку.

1 Ответ

0 голосов
/ 05 августа 2020

Если вы определяете ObjectProperty в своем Screen, тогда вы можете передать ему любой объект:

class MyScreen(Screen):
    some_obj = ObjectProperty(None)

Если имя этого Screen - screen_1, тогда вы можете передать объект как:

self.manager.get_screen('screen_1').some_obj = any_object
...