【Python】tkinterの.mainroop()の必要性について

プログラム
スポンサーリンク

はじめに

今回は、tkinterモジュールの.mainroop()の必要性について解説します。

Python+tkinterの導入が済んでおり、基本操作が行える事を前提で進めます。
↓前提知識はこちらをご覧ください↓

【Python】導入方法から基本操作について
Pythonは無料で使えるプログラミング言語でA「I開発や作業の自動化」に強いとされてます。導入は公式サイトからダウンロード。DLしたら「IDLE」を起動して動かします。2行以上のブログラムの場合は「.py」ファイルを作成する必要があります。
【Python】tkinterモジュールの使い方【UI,作成】
tkinterはPython付属のUIを作るモジュール。ウィジットを「作成」と「配置」する2つの処理を書いてUIを作ります。ボタンやバーなどは操作すると指定した「関数」を実行可能。テキスト入力欄はget()で取得可能。こちらの使い方を解説。

.mainloop()が無くても動く例

tkinterはPython画面でF5キーを押すと動きます。
この場合「.mainloop()」の処理が不要です。

普通に動きます。

ちなみに、こちらのプログラムを使ってます。
(記事内、ソースコードあり)

【Python】Wavの情報を一覧表示する方法【Bit深度,サンプリングレート】
.waveはPython標準搭載の「wave」モジュールで読み込めます。ファイル名やファイルパスは「Path.split()」で取得可能。waveモジュールは「チャンネル数、ビット深度、サンプリングレート」などを取得可能。こちらを解説。

以上が.mainloop()が無くても動く例の紹介です。

.mainloop()の必要性

では.mainloop()が無いと何が起こるかですが…
これは「.py」ファイルを直接実行すると分かります。

.mainloop()が無い場合.pyファイルを直接実行すると、何も表示されません。

より正確に言うと、一瞬だけ黒い画面(コンソール)が表示されて消えます。

そこで「.root.mainloop()」の処理を入れます。
すると.pyファイルが直接実行できるようになります。

保存して、もう一度.pyファイルを実行。

すると、コンソール画面が消えずに留まります。
そしてプログラムが表示されます。

このように.pyファイルから直接を動かしたり…
.exe化して動かしたい時に「.mainloop()」は必要になります。

まとめ

今回はPythonのtkinterモジュールで.mainloop()処理が必要な理由について解説しました。

・Python画面であれば.mainloop()が無くても動く
・.pyファイルを直接クリックして動かしたい時に.mainloop()が必要
・.exe化する場合.pyファイル直接クリックで動かないと上手く動かないので注意

また、他にもPythonやプログラムについて解説してます。

【Python】ビット演算の使い方【演算子,活用方法,ゲーム属性】
ビット = PC内部の「0」と「1」を計算する装置1つの単位で、ビット演算を使うと、複数の条件があるモノを手軽に管理できます。これはゲームなどの属性を作る際に役立ちます。さらに、ビット演算子を使うと、入力したビットに変化を加える事ができます。
【Python】__pycache__ファイルを作らない方法
__pycache__はモジュール読み込み時に作られるキャッシュファイルで、プログラムに特殊な処理を入れたり、コマンドプロンプトでpython -Bや「set PYTHONDONTWRITEBYTECODE=1」を使うと作られなくなります。
【Python】import と from import *の違いについて
improtを使うと外部プログラムから"関数"を読み込めます。import ○○ がもっとも一般的な読み込み方です。from ○○ import * という形でも読み込み可能で、こちらを使えばモジュールを省略可能ですが動作の安定性が減ります。

ぜひ、こちらもご覧ください。

コメント

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