Tkinterでメモアプリを開発する (1) - Hello Worldプログラムを実行してみる
本シリーズでは、Pythonでデフォルトで使用可能なGUIライブラリ tkinter を使用して、
簡単なメモ帳アプリを作ります。
Hello World プログラムを動かしてみる
まずはtkinter
の使用方法を確認するため、tkinter
の公式ドキュメントに記載されている
以下のHello Worldプログラムを作成して実行してみましょう。
from tkinter import *
from tkinter import ttk
root = Tk()
frm = ttk.Frame(root, padding=10)
frm.grid()
ttk.Label(frm, text="Hello World!").grid(column=0, row=0)
ttk.Button(frm, text="Quit", command=root.destroy).grid(column=1, row=0)
root.mainloop()
実行すると、以下のようなウィンドウが表示されます。
「Quit」ボタンをクリックすると画面が閉じます。
コードの内容を確認
では、実行したHello Worldプログラムの詳細を見ていきます。
1. ライブラリのインポート
from tkinter import *
from tkinter import ttk
ここではtkinter
から関数等をインポートしています。
ワイルドカード(*
)で全てのオブジェクトをインポートする方法はあまり好まれないので、
あとで修正することにします。
2. ルートウィンドウを作成
root = Tk()
最初にルートウィンドウを作成しています。
このウィンドウに、ボタンやテキストボックスなど、様々な要素を配置していくことになります。
tkinter
ではこのような構成要素のことをウィジェットといいます。
3. フレームを配置
frm = ttk.Frame(root, padding=10)
frm.grid()
次にフレームをルートウィンドウに作成しています。
frm.grid()
で、作成したフレームfrm
をルートウィンドウ内に配置しています。
4. ラベルを配置
ttk.Label(frm, text="Hello World!").grid(column=0, row=0)
次に、ラベルをフレーム(frm
)内に作成して配置しています。
ラベルはテキストを表示するためのウィジェットです。
ラベルのテキストをHello World!
に設定し、 位置 column=0, row=0
に配置(.grid
)しています。
5. ボタンを配置
ttk.Button(frm, text="Quit", command=root.destroy).grid(column=1, row=0)
次に、ボタンをフレーム(frm
)内に作成して配置しています。
ボタンのテキストをQuit
に設定し、ボタンが押された際に実行される関数をroot.destroy
に設定、
位置 column=1, row=0
に配置しています。
- ラベルと
row
(行)が同じで、column
(列)がラベルの1つ上であるため、
ボタンはラベルの右側に配置されます。 root.destroy
関数を実行するとルートウィンドウ(root
)が終了します。
6. ループを実行
root.mainloop()
最後に、ルートウィンドウ(root
)のメインループを実行します。
これによりルートウィンドウが表示され、停止するまでユーザの応答を受け付けるようになります。
実行を停止をするには、プログラムを実行したコンソール上でCtrl+C
を入力してください。
まとめ
今回は、tkinter
の使い方を確認するため、公式ドキュメントのHello Worldプログラムを作成して
動作を確認しました。
次回は、テキストボックスを作成して、テキストファイルにメモを保存する仕組みをつくります。