Python からGUIを構築・操作するための標準ライブラリTkinterを使ってみましょう!まずは簡単なウィンドウを作って、おなじみ画面上にHelloWorldを表示します。
目次
Tkinterとは
TkinterとはPythonの標準ライブラリに含まれている、GUIを構築・操作するためのモジュールです。厳密にいえばスクリプト言語TclのGUIツールキットであるTkをPythonから操作するためのインターフェースで、Tkinterというのは「Tk interface」の略称です。
ひとことで言えば「PythonでGUIアプリケーションをとっても簡単に組むことのできるツール」だと思ってもらってOKです。
複雑なことをやろうと思えば大変ですが、ちょっとしたアプリケーションなら素早く簡単に作り上げることができます。
ウィンドウの作成
まずはアプリケーションのウィンドウを作ってみましょう。
下記のコードを記述したPythonプログラムファイルを作成して実行してみて下さい。
※ファイル名ですがtkinter.pyとするとAttributeErrorとなるので他の名前にしておきましょう。
import tkinter # tkinterモジュールを読み込み root = tkinter.Tk() # rootインスタンスを作成 # ウィンドウの設定 root.title("ウィンドウのタイトル") # ウィンドウのタイトルを指定 root.geometry("400x300") # ウィンドウサイズの指定 root.mainloop() # rootインスタンスのmainloopメソッドを呼び出し
上記のようなウィンドウが表示されます。
あとはこのroot要素の中にウィジェットを作成していけばテキストや画像の表示はもちろん、ボタンやチェックボックス、スクロールバー、プログレスバーなんかも作れちゃいます。
Hello World
とうことでまずはお約束のHello Worldを表示してみましょう。
テキストや画像を表示するだけであればラベル(Label)というウィジェットを使います。
import tkinter as tk # tkinterモジュールを読み込みtkという名前で使えるように root = tk.Tk() # ウィンドウの設定 root.title("ウィンドウのタイトル") # ウィンドウのタイトルを指定 root.geometry("400x300") # ウィンドウサイズの指定 #ラベル msg = tk.Label(text=u'Hello World') # ラベルウィジェットに表示したい文字を渡してインスタンスを生成 msg.pack() # インスタンスのpackメソッドを実行 root.mainloop() # rootインスタンスのmainloopメソッドを呼び出し
毎回モジュール名を書いていては面倒なので import tkinter as tk としてtkinterをtkという名前で呼び出せるようにします。
ウィジェットを配置する方法はいくつかありますが、今回は単純な配置なのでpackメソッドを使っています。
とりあえずはHello Worldという文字列を表示することができました。もっと自在に使えるようにどんどん進めていきましょう。