Python kivyで作成したウインドウに画像を表示する方法

まくまく
まくまく
PythonのGUIアプリ作成ライブラリ kivyで作成したウインドウに画像を表示してみようと思います。

出力


kivyでウインドウを作成して、そこに画像とボタンを表示してみました。


ウインドウの端をドラッグしてウインドウサイズを小さくすると、画像も小さくなります。ボタンはwidthとheightを指定しているので、固定サイズのままです。

表示の関係上、サイズ感が分かりにくくなってますが、実際に動かしてみると画像のサイズだけ可変でボタンは固定サイズになっています。

今回、ボタンは表示しているだけなので、押しても何も起こりません。



サンプルプログラム

pyファイル

#ライブラリのインポート
from kivy.app import App
from kivy.config import Config
from kivy.uix.widget import Widget
from kivy.properties import ObjectProperty
from kivy.lang import Builder

#ウインドウの幅と高さの設定
Config.set('graphics', 'width', 700)
Config.set('graphics', 'height', 500)
#1でサイズ変更可、0はサイズ変更不可
Config.set('graphics', 'resizable', 1)
#kvファイルを指定
Builder.load_file("image.kv")

class MyLayout(Widget):
    pass
        
class DispimageApp(App):
    def build(self):
        self.title = "window"
        return MyLayout()

if __name__ == '__main__':
    DispimageApp().run()

kvファイル

#ファイル名: image.kv
<MyLayout>
    BoxLayout:
        orientation: "vertical"
        size: root.width, root.height
        padding: 20
        spacing: 20
        
        Image:
            source: "curry.jpg"
            allow_stretch: True
            kepp_ratio: True
            
        Button:
            text: "Delicious Curry!!"
            pos_hint: {"center_x": 0.5}
            size_hint: (None, None)
            width: 200
            height: 50

kivy関連の記事はこちらにまとめています。>>>Python kivy 使い方まとめ

タイトルとURLをコピーしました