Kivyで背景に画像を表示する方法

みなさまおはこんばんにちは、せなです

Kivyで背景に画像を表示するためには、イメージウィジェットを使用します

イメージウィジェットの基本構文

イメージウィジェットを使用するには「Image」を使用します

以下はkv Languageを使用して記述する場合です

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout


class ImageView(BoxLayout):
    pass


class TestImage(App):
    def build(self):
        root = ImageView()
        return root


if __name__ == '__main__':
    TestImage().run()
<ImageView>
    Image:
        source: '../back.jpg'

「source」に使用する画像のパスを設定することで、背景に画像を表示することができます

背景画像にロード中の表示

非同期のイメージを使用する時には、「AsyncImage」を使用します

非同期イメージは読み込みに時間がかかる画像を使用するときに、読み込み中の表示をするために使用します

使用方法は以下のようになります

AsyncImage:
    source: '../back.jpg'

イメージウィジェットのキーワード引数

画像の引き延ばし

画像の大きさをウィジェットの大きさと同じにするには、「allow_stretch」を使用します
※画像は1:1の割合で引き延ばされます

「allow_stretch」はデフォルトでFalseに設定されています

AsyncImage:
    source: '../back.jpg'
    allow_stretch: True

イメージキャッシュの設定

イメージウィジェットはデフォルトで画像をキャッシュに追加します
それを行わないようするためには「nocache」に「True」を設定します

AsyncImage:
    source: '../back.jpg'
    nocache: True