Skip to content

Flet で GUI な Python アプリケーションを作成する

Python で GUI アプリケーションを作成する場合、以下のようなライブラリから何れかを選択するケースが多いと思います。

上記以外にも Flet を使うことも可能です。 Flet を利用する場合、GUI アプリケーションとして動作させることが可能ですが、Web アプリケーションとして動作させることも可能です。 今回は Flet 公式サイトに掲載されているサンプルアプリケーションを動作させるところまで試してみます。

検証環境

今回は以下の環境で検証しました。

  • macOS Sonoma 14.2
  • Python 3.9.6
  • flet 0.16.0

インストール

pip でインストールします。

1
python3 -m pip install flet

サンプルコード

公式サイトである Flet app example に掲載されているサンプルコードを試してみます。

python counter.py
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import flet as ft

def main(page: ft.Page):
    page.title = "Flet counter example"
    page.vertical_alignment = ft.MainAxisAlignment.CENTER

    txt_number = ft.TextField(value="0", text_align=ft.TextAlign.RIGHT, width=100)

    def minus_click(e):
        txt_number.value = str(int(txt_number.value) - 1)
        page.update()

    def plus_click(e):
        txt_number.value = str(int(txt_number.value) + 1)
        page.update()

    page.add(
        ft.Row(
            [
                ft.IconButton(ft.icons.REMOVE, on_click=minus_click),
                txt_number,
                ft.IconButton(ft.icons.ADD, on_click=plus_click),
            ],
            alignment=ft.MainAxisAlignment.CENTER,
        )
    )

ft.app(target=main)

実行結果

サンプルコードを実行してみます。

1
python3 counter.py

以下のようなウインドウが表示されました。

file