Как отобразить изображение с помощью киви

Как отобразить изображение в моем pwd?

import kivy
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.image import Image


class MyApp(App):
  def build(self):
    return Image('b1.png')

MyApp().run()

Ответ 1

Вы можете проверить Документацию по изображению, чтобы увидеть, что источник изображения контролируется свойством source. Поэтому вы должны иметь возможность изменить только одну строку, чтобы заставить ее работать:

    return Image(source='b1.png')

Ответ 2

приемлемый результат для меня слишком всеобъемлющий и простой. У меня есть лучший способ:

  • Установите свою фотографию в определенном поле box_layout, используя "идентификаторы"
  • Вы можете изменить свою фотографию динамически

Kivy.kv (файл)

<main_display>:
    BoxLayout:
        orientation: "vertical"

        Image:
              id: imageView
              source: '<random_name>.jpg'
              allow_stretch: True
 ....

Kivy.py (файл)

class main_display(BoxLayout):
    def __init__(self, **kwargs):
       super(main_display,self).__init__()
       # Photo can be reference by running the photo function once:
       Clock.schedule_once(self.photo)

     def photo(self,dt):
       # Replace the given image source value:
       self.ids.imageView.source = 'kivy_test.jpg'

В основном, установите произвольное имя файла в атрибуте источника в kivy.kv(file). Я попытался напрямую назначить атрибут "источник" из kivy.py (файл), но не удалось с ошибкой утверждения.

Это нормально, в файле Kivy.py, не забудьте установить расписание часов один раз, как указано выше, и вы можете внести изменения в свою фотографию. Вы даже можете добавить некоторые Clock.schedule_interval(self.photo, 0.06) фото (динамически), изменив планировщик часов на Clock.schedule_interval(self.photo, 0.06).

НАСЛАЖДАТЬСЯ !