バックナンバーはこちら。
https://www.simulationroom999.com/blog/model-based-of-minimum-2-backnumber/
はじめに
前回は、大雑把なGUI構成と必要な機能を決めたところ。
チェックボックスを配置して各機能の有効/無効、Scale(スライダー)による指定値の手動入力など。
今回はtkinterについて触れていく。
登場人物
博識フクロウのフクさん
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
tkinterをインストールしてみる?
折角だからtkinterのインストールをしてしまいたいな。
いざ作ろうと思ったら「実は動きません」じゃ困るし。
たぶんすでに入ってるよ。
え?そうなの?
tkinterはPythonの標準ライブラリにカテゴライズされているようで、
最初から組み込まれてるんだ。
まぁこれが今回tkinterを選定した理由の一つでもある。
ということは、動作確認するだけってことか。
tkinterの動作確認
しかし、動作確認となると、
tkinterの使い方を覚えて、コーディングしていかないといけないのか・・・。
自分で言っておいてなんだけど、面倒だな。
動作確認だけだったらコーディングの必要はない。
以下のコマンドを実行。
python -m tkinter
あ、なんかウィンドウっぽいのが出てきた!
ふむ。
問題無く使えそうだな。
なるほど。
これで動けばおおよそ動くよってことか。
動作確認としてはこれ以上ないレベルで手っ取り早い。
tkinterによるGUI作成方針
tkinterはメインのウィンドウをrootとして、
そこに紐づける形でウィジットを生成していくイメージ。
ほう。
ということはまずはrootってのを定義すれば良いのか。
そして、matplotlibの埋め込みはちょっと特殊な手順があって、
FigureCanvasTkAggというモジュールを使う。
そしてmatplotlibにメニューバーがあったと思うのだけど、
これもNavigationToolbar2Tkというモジュールを使う事で同一のものをtkinter上に配置可能だ。
割と機能使いまわし用のモジュールが準備されてるってことか。
こういうのもあって、割とGUIの作成の難度は低めになってる感じだね。
あとはチェックボックス、Scaleを生成&配置していけばGUI作成としてはおおよそOKだ。
まぁ実際にGUI操作の結果をどう取得するかの話もあるが、
これはやりながら確認していこう。
となると、そろそろ実際にtkinterを触っていく感じになるのか。
まとめ
まとめだよ。
- tkinterはPython標準ライブラリのためインストール済み。
- 動作確認。
- 「python -m tkinter」でウィンドウが出てくればとりあえずOK。
- メインウィンドウをrootとして定義し、そこに各ウィジットを生成&紐づけしていく。
- matplotlib関連もtkinter連携用モジュールが存在する。
バックナンバーはこちら。
コメント