Доступ к холсту прямоугольника в киви - PullRequest
0 голосов
/ 16 апреля 2020

Я довольно новичок в kivy, и у меня возникла проблема с доступом к моему прямоугольнику холста. Мне нужно держать его обновленным, так как я загружаю изображения по всему коду, поэтому размер окна меняется, но в отличие от других свойств, таких как текстовые поля или изображения, я не смог получить к нему доступ, используя идентификатор или группу. Буду очень признателен за любую помощь:)

мой python код:

import kivy
from kivy.lang import Builder
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.button import Button
from kivy.uix.widget import Widget

GUI = Builder.load_file('style.kv')


class NotebookScreen(GridLayout):

    def __init__(self, **kwargs):
        self.rows = 1
        super(NotebookScreen, self).__init__(**kwargs)
        self.bind(pos=self.update_background, size=self.update_background)


    def update_background(self, *args):
        background = self.ids

        #can't seem to access rectangle here...

        # background.size = self.size
        # background.pos = self.pos


class MainApp(App):

    def build(self):
        return NotebookScreen()


if __name__ == "__main__":
    MainApp().run()

мой код кв:

<NotebookScreen>
    GridLayout:
        id: back_layout
        cols: 1
        rows: 1
        canvas:
            Color:
                rgba: 1, 1, 1, 1
            Rectangle:
                id: rect
                pos: self.center
                size: self.width, self.height

        Image:
            id: notebook_image
            source: 'images/notebook.jpg'
...