Kivy, изменение исходного изображения холста из файла python - PullRequest
0 голосов
/ 30 апреля 2020

Я создаю приложение погоды, и мне нужно иметь возможность изменять изображение холста FloatLayout из файла .py из-за значительного количества кода, необходимого для выбора изображения. Я выбрал FloatLayout для размещения изображения из-за size_hint и pos_hint (не хочу хлопотать с изменением параметров вручную, когда приложение настроено).

Реальный вопрос заключается в том, как я могу передать строку между файлом .kv и .py в источник canvas-> rectangle-> source и обновить ее, чтобы отобразить изображение в каталоге.

Вот фрагмент файла .kv. Подчеркнутая часть - это место, где должна быть строка. enter image description here

Я пытаюсь использовать метод в классе, который содержит весь код для обновления изображения.

Есть идеи, как мне это сделать?

Спасибо за любую помощь.

Ответы [ 2 ]

1 голос
/ 01 мая 2020

Установите source: root.some_property_name, а затем в своем методе установите self.some_property_name на нужный вам путь к файлу.

Также добавьте some_property_name = StringProperty() в класс.

1 голос
/ 30 апреля 2020

Попробуйте заменить эту строку source на:

source: app.image_source

И в вашем App добавьте строку:

image_source = StringProperty('path/to/initial/image')

Тогда вы сможете просто обновить image_source свойство для изменения изображения.

...