Pythonまとめ(TkEasyGUIお試し)
Pythonでよく使われているGUIライブラリとしてPySimpleGUIがある。PySImpleGUIはバージョン5より商用ライセンスが有償となるなどの変更があった。本稿ではMITライセンスで作成されたTkEasyGUIについて触れてみる。
基本的な利用例
多くの場面でPySimpleGUIと同じように書けば動作することが多い。ただ、完全互換を目指しているわけでは無いそうなので、ところどころ違いがある。
一度表示するだけ
イベントループ型
window.is_alive()でウィンドウが生きている間イベントループを繰り返す。window.read()でイベントを読み込み、読み込んだイベントに応じた処理を行う。
コンテキストマネージャ(with)使用
これまで見たとおり、レイアウトの指定方法や、基本的な構文はPySimpleGUIと概ね同じように使用できる。
タイムアウトイベント使用
イベント関連
カスタムイベント
各エレメントであらかじめ定義されていないイベントも登録できる。よく使いそうなイベントは以下のあたり?
ButtonPress(Button), ButtonRelease, FocusIn, FocusOut, Enter, Leave, KeyPress(Key), KeyRelease, MouseWheel
全てのイベントはtkのドキュメントで確認できる(多分)。
bind使用
マウスオーバーしたら背景色を変えるサンプル
bind_eventsで一括登録
マウスオーバーしたら背景色を変えるサンプル(2)
ロングタスク
Window.start_threadを使う。
入力値を使う時間がかかる処理をして、処理結果を表示する例を示す。
外観
テーマ
eg.utils.set_themeメソッドが用意されているが、2024/11/17時点でWindowsでは動作しない模様。