📃

TkEasyGUIテーマの変更方法

2024/08/13に公開

TkEasyGUIはtkinterをベースに作ってあるので見慣れたテーマかと思います

実行環境

  • Windows
  • Python 3.11.9
  • TkEasyGUI 0.2.73

https://github.com/kujirahand/tkeasygui-python/blob/main/docs/TkEasyGUI/utils-py.md#set_theme

テーマに関する関数

テーマ一覧の取得

eg.get_tnemes()

eg.get_tnemes() コード詳細

現在のテーマの取得

eg.get_current_theme()

eg.get_current_theme() コード詳細

現在のテーマの設定

eg.set_theme()

もしくは

eg.theme()

eg.set_theme() コード詳細

eg.theme() コード詳細

サンプルコード

import TkEasyGUI as eg

# 現在利用可能なテーマのリストを取得
theme_list = eg.get_tnemes()

# レイアウトの定義
layout = [
    [eg.Text('テーマを選択してください')],
    [eg.Combo(theme_list, default_value=eg.get_current_theme(), key='-THEME-')],
    [eg.Button('テーマを変更', key='-CHANGE-', expand_x=True)],
    [eg.Text(f'現在のテーマ {eg.get_current_theme()}', key='-TEXT-')],
    [eg.InputText('これはサンプルテキストです')],
    [eg.Frame('チェックボックス', [[eg.Checkbox('test1', default=True), eg.Checkbox('test2'), eg.Checkbox('test3')]])],
    [eg.Frame('ラジオボタン', [[eg.Radio('test1', group_id='radio', default=True), eg.Radio('test2', group_id='radio'), eg.Radio('test3', group_id='radio')]]),],
    # [eg.Slider()],
    # [eg.Input(), eg.FileBrowse('ファイルの選択')],
    # [eg.Listbox(['test1', 'test2', 'test3'])],
    # [eg.Textarea('test')]
]

# ウィンドウの作成
window = eg.Window('テーマ変更', layout)

while True:
    event, values = window.read()

    if event == eg.WIN_CLOSED:
        break
    elif event == '-CHANGE-':
        # 選択されたテーマを取得して設定
        selected_theme = values['-THEME-']
        eg.theme(selected_theme)
        
        # 新しいテーマを適用するためにウィンドウを再作成
        window.close()
        window = eg.Window('テーマ変更', layout)
        window['-THEME-'].update(value=selected_theme)
        window['-TEXT-'].update(f'現在のテーマ {selected_theme}')

window.close()

テーマ早見

Discussion