Kivy. Ссылка на ребенка в родительском методе - PullRequest
0 голосов
/ 11 мая 2018

Привет, пусть parent будет родительским виджетом, а дочерний виджет - это его дети. Как я могу сослаться на метод child в parent?Например, ребенок - это шар с функцией движения и вектором скорости, и я хочу иметь метод, который изменяет скорость мяча в родительском классе.

1 Ответ

0 голосов
/ 11 мая 2018

Вы используете Kivy ObjectProperty для подключения к классу Ball в родительском классе RootWidget, как показано во фрагментах.

Руководство по программированию »Kv language

Несмотря на то, что метод self.ids очень лаконичен, он обычно считается «наилучшей практикой» для использования ObjectProperty. Это создает прямую ссылку, обеспечивает более быстрый доступ и является более явным.

Отрывки

файл кв

<Ball>:
    ...

<RootWidget>:
    ball: ball
    ...
    Ball:
        id: ball

Python Script

class Ball(Widget):
    # velocity of the ball on x and y axis
    velocity_x = NumericProperty(0)
    velocity_y = NumericProperty(0)

    def move(self):
       ...

class RootWidget(Widget):
    ball = ObjectProperty(None)
    ...
    self.ball.move(...)    # referencing the method move in class Ball
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...