customtkinterでGUIアプリ作成した話
Pythonを利用する場合、データ処理に活用するのでjupyterで開いて、セル単位で実行みたいな人が多いと思います。
ただ、PythonでもGUIのツールが作成できるし、人に使ってもらうために配るならこの形式の方がとっつきやすいと思います。
というわけで、今回はGUIのツールをcustomtkinterを使用して作成してみました。
題材は、最近TeraTermでの作業が必要になったのでTeraTerm経由でのサーバアクセスを補助するツールです。
今回作成したツールのリポジトリ
大まかな構成
今回お世話になったのは「Akascape」さんのCTkMenuBarです。
ツールっぽく見せられるかつ、編集も楽で使い勝手が良かったです。
まずは画面上部のメニューを大項目としてとらえて、
大項目単位でフォルダを作成しました
※命名規則は"Window" + 項目名
ForTeraterm/
├ WindowAction/
├ WindowSettings/
├ __init__.py
└ main_menu.py # メニュー画面担当
そして各メニューに合わせてその配下にクラスファイルを配置しています。
今回は設定に関連するものも「WindowSettings」配下に配置しました
ForTeraterm/
├ WindowAction/
│ ├ __init__.py
│ ├ editmacro.py
│ ├ serveraccess.py
│ └ serverregist.py
├ WindowSettings/
│ ├ __init__.py
│ ├ edit.py
│ ├ image.py # 画像ファイルを扱う
│ ├ theme.py # 色を扱う
│ └ conf.py # 設定ファイルを扱う
├ __init__.py
└ main_menu.py
ここまで出来たら、あとは小項目のクラス内で、各画面をどのようにしたらいいのかを記載します。
記載ができたら「main_menu.py」から呼んであげることで、
ウィンドウの各メニューをクリックしたときに各メニューが呼び出されるようになります。
※本当は片づけように、呼び出した後のオブジェクトの初期化用のメソッドも準備しておけば、メニューを切り替えたときに、お残しなく画面遷移させられるのですが
面倒なのでそのうち実装します
これをしてあげたら、あとは処理部分を記載してあげればツールとして出来上がります。
結
結構規則を意識しつつ記載していたので、いい感じにまとめればガワを作るためのものもかけそうだとは思いつつ、気力が尽きたのでその気になったらやるかもしれません。
おやすみ