🚫

Fletでエラーダイアログを実装する。

2023/10/24に公開

読む前に

fletとは

fletはPythonでGUIを作るためのライブラリ?フレームワーク?です。(ここらへんよくわかんない)
FletはFlutterをベースとしているため何を考えなくてもいい感じのUIになります。
https://flet.dev/

次のコードがfletの基本になります。

hello.py
#インポート
import flet as ft

#ウィンドウ
def main(page: ft.Page):
    #ウィンドウに関する設定
    page.title = "Hello Flet!!"
    
    #要素の定義
    hello = ft.Text("Hello World!!")

    #要素を追加
    page.add(hello)

#アプリの実行
ft.app(target=main)

これを実行すると

こんな感じです。何の変哲もないですね。
ボタンを追加した例。

コード
hello.py
import flet as ft

def main(page: ft.Page):
    page.title = "Hello Flet!!"
    
    hello = ft.Text("Hello World!!")
    btn = ft.FilledButton("こんにちは、世界")

    page.add(hello,btn)

ft.app(target=main)

あとは自分で調べて頑張ってもらうとして、今回の本題を。

エラーダイアログを実装する

今回はエラーダイアログを実装します。
エラーダイアログはユーザーにエラーが起きたことを伝える手っ取り早い方法です。
まぁ実装していきます。

ダイアログを定義

ダイアログを事前に用意。

dialog.py
    err_dlg = ft.AlertDialog(
        title=ft.Text("エラー"),
        modal=True,
        content=ft.Text("ダウンロード中にエラーが発生しました。"),
        actions=[
            ft.TextButton("閉じる",on_click=close_dlg),
        ],
        actions_alignment=ft.MainAxisAlignment.END,
    )

これでerr_dlgというダイアログを用意できました。

閉じるための処理

閉じるための処理を書きます。

    def close_dlg(e):
        err_dlg.open = False
        page.update()

これがないと閉じれないので注意。

表示する

表示自体は次のコードで可能

page.dialog = err_dlg
err_dlg.open = True
page.update()

とりあえずボタンを押すと開くようにした。

    def dlg_open(e):
        page.dialog = err_dlg
        err_dlg.open = True
        page.update()
    open_btn = ft.FilledButton("ダイアログを開く", on_click=dlg_open)
    page.add(open_btn)

終わり

これで実装できるかと思います。

以上

以上です。おそらく分かりにくかったと思います。すみません。ほんとに。

Discussion