Tkinterでメモアプリを開発する (1) - Hello Worldプログラムを実行してみる

シリーズ - Tkinterでメモアプリを開発する

本シリーズでは、Pythonでデフォルトで使用可能なGUIライブラリ tkinter を使用して、
簡単なメモ帳アプリを作ります。

まずは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プログラムの詳細を見ていきます。

from tkinter import *
from tkinter import ttk

ここではtkinterから関数等をインポートしています。
ワイルドカード(*)で全てのオブジェクトをインポートする方法はあまり好まれないので、
あとで修正することにします。

root = Tk()

最初にルートウィンドウを作成しています。
このウィンドウに、ボタンやテキストボックスなど、様々な要素を配置していくことになります。
tkinterではこのような構成要素のことをウィジェットといいます。

frm = ttk.Frame(root, padding=10)
frm.grid()

次にフレームをルートウィンドウに作成しています。
frm.grid()で、作成したフレームfrmをルートウィンドウ内に配置しています。

ttk.Label(frm, text="Hello World!").grid(column=0, row=0)

次に、ラベルをフレーム(frm)内に作成して配置しています。
ラベルはテキストを表示するためのウィジェットです。

ラベルのテキストをHello World!に設定し、 位置 column=0, row=0 に配置(.grid)しています。

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)が終了します。
root.mainloop()

最後に、ルートウィンドウ(root)のメインループを実行します。
これによりルートウィンドウが表示され、停止するまでユーザの応答を受け付けるようになります。
実行を停止をするには、プログラムを実行したコンソール上でCtrl+Cを入力してください。

今回は、tkinterの使い方を確認するため、公式ドキュメントのHello Worldプログラムを作成して
動作を確認しました。

次回は、テキストボックスを作成して、テキストファイルにメモを保存する仕組みをつくります。

関連記事