【Flet】よく使う単語のコピー用ボタン集をつくる【Python】

2025年6月18日Flet,Python

よく使う単語のコピー用ボタン集をつくる

ちょくちょく使う面倒なテキスト入力をまとめておき、ボタンのクリックでコピーする方法です。


クリップボードに情報をコピーする

ボタンに設定されている情報をコピーする

概要

  • ボタンクリックでテキスト情報をクリップボードにコピーする
import flet as ft

def main(page: ft.Page) -> None:
    # クリップボードにテキストをコピーする関数
    def copy_to_clipboard(e: ft.ControlEvent) -> None:
        text = e.control.text
        page.set_clipboard(text)
        page.open(ft.SnackBar(ft.Text(f'Copied {text} to clipboard')))
        page.update()

    # ボタンを作成
    sample_button = ft.ElevatedButton(text='りんご', on_click=copy_to_clipboard)

    # 画面サイズ
    page.window.width = 300
    page.window.height = 300

    # ボタンをページに追加
    page.add(sample_button)

# Fletアプリケーションを実行
ft.app(target=main)

クリックでクリップボードに情報をコピーするボタンを複数配置する

処理内容

  • カレントディレクトリにあるExcelファイルを読み込む

    • 複数シート読み込み可能
    • シート名ごとにタブを作成し、タブで表示を切り替える
  • 読み込んだテキスト情報を持つボタンを作成する

  • このボタンをクリックするとテキスト情報がクリップボードにコピーされる

Excelファイル

  • ファイル名:data.xlsx
  • A,Bの2列×複数行で入力し、この行は可変とする

コード

import flet as ft

def main(page: ft.Page) -> None:
    # クリップボードにテキストをコピーする関数
    def copy_to_clipboard(e: ft.ControlEvent) -> None:
        text = e.control.text
        page.set_clipboard(text)
        page.open(ft.SnackBar(ft.Text(f'Copied {text} to clipboard')))
        page.update()

    # ボタンを作成
    sample_button = ft.ElevatedButton(text='りんご', on_click=copy_to_clipboard)

    # 画面サイズ
    page.window.width = 300
    page.window.height = 300

    # ボタンをページに追加
    page.add(sample_button)

# Fletアプリケーションを実行
ft.app(target=main)

アプリ実行結果

ボタンクリック結果

Flet,Python

Posted by junichi