SAMURAI TERAKOYA

[ kivy : アプリ開発 ] ボタンを押下した際にWindowを閉じる方法

kivy

本記事では、kivyで開発したアプリケーション内のとあるボタンを押下したときにアプリのウィンドウを閉じる方法について、ご紹介させて頂きます。

 

✅   アプリを終了する方法
✅   サンプルプログラムを用いた解説

コードの準備

 

まずは、アプリを終了する方法を確認していく前に、ベースのコードファイルを準備していきましょう。

 

from kivy.app import App 
from kivy.uix.widget import Widget
from kivy.core.window import Window
from kivy.lang import Builder

### ここに追加コードを記述 ###

# Windowの背景色を変更 (黒 → 白)
Window.clearcolor = (1, 1, 1, 1)

# Widget用クラスを定義
class AppStop(Widget):
    pass

# アプリ実行用のクラス
class StopTest(App):
    def build(self):
        # ビルドの際にAppStopクラスを返す
        return AppStop()

    if __name__ == "__main__":
        # アプリケーションを起動
        StopTest().run()

 

スポンサーリンク

アプリの終了 : コード追加

 

ベースのコードが準備できましたら、Buttonウィジェットとボタンを押下をした際にアプリを終了するための記述をベースのコードの### ここに追加コードを記述 ###の行に追加していきましょう。

# kivy言語をPythonファイル内に記述する : Builder.load_string(""" ~ """)
Builder.load_string("""
    <Sample>:
        FloatLayout:
            Button:
                text: 'Quit'
                background_color: "blue"
                size_hint: (5, 2)
                pos_hint: {"x":5.5 , "y": 5.5}
                color: "white"
                font_size: 50
                background_normal: ""
                on_press : app.stop()
""")

5行目 :
Buttonウィジェットの定義を記述しています。

6行目 :
textプロパティでボタン上に表示させるテキストを設定しています。

7行目 :
background_colorプロパティでボタンの背景色を青に設定しています。

8行目 :
size_hintプロパティ(ウィジェットサイズを指定)で幅を5, 高さを2に設定しています。

9行目 :
pos_hintプロパティ(配置の指定)でx軸を5.5, y軸を5.5に設定しています。

10行目 :
colorプロパティ(文字色の指定)でボタン上の文字色を白に設定しています。

11行目 :
font_sizeプロパティ(文字のサイズを指定)でボタン上の文字のサイズを50に設定しています。

12行目 :
background_normalプロパティでデフォルトの背景色を解除しています。

13行目 :
on_pressイベントでボタン押下時の処理設定しています。

アプリ終了 解説

動作確認

アプリ動作確認①
アプリ動作確認②

まとめ

✅ ボタンを押下した際にアプリの終了
on_pressイベントにapp.stop()を設定する
✅ 動作確認の際には、エラーが出てないことを確認
ログにLeaving application in progress…が確認できればOK

皆さんのアプリ開発に役立てば嬉しいです。

コメント

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