【PyFMI】最小構成のMBD事例 第2章 その110【リアルタイム描画④】

【PyFMI】最小構成のMBD事例 第2章 その110【リアルタイム描画④】事例
【PyFMI】最小構成のMBD事例 第2章 その110【リアルタイム描画④】

バックナンバーはこちら。
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動作確認、python -m tkinter、This is Tcl/Tk version8.6、This should be a cedilla
フクさん
フクさん

ふむ。
問題無く使えそうだな。

太郎くん
太郎くん

なるほど。
これで動けばおおよそ動くよってことか。

フクさん
フクさん

動作確認としてはこれ以上ないレベルで手っ取り早い。

スポンサーリンク

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連携用モジュールが存在する。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました