今回からはGUIを使ってみる。GUIとはGraphic User Interfaceを略した言葉であって、 Terminalのようにデータを文字だけじゃなくて、絵としても表してくれる。
つまり、計算の結果を絵で表すことで、グラフを書いたりなどいろんなデータをいろんなやり方で視覚化することができる。
TkinterはPythonに基本的に入っているモジュールでこれを用いれば、簡単にGUIプログラムが作れる。
これ以外もPySide、PyQTなどいろんなモジュールがあるが、Tkinterがかなり使いやすかったのでここではTkinterを使う。
まずは、Tkinterモジュールを呼んでみて簡単に画面表示をしてみる。
from tkinter import *
master = Tk()
def sayHello() :
print('Hello!')
button = Button(master, text="hello!", command=sayHello)
button.pack()
mainloop()
一応実行してみよう
from tkinter import *
Tkinterを呼び出すことである。
master = Tk()
Tk
は今から私たちが描くために使うキャンバスである。
button = Button(master, text="hello!", command=sayHello)
Button
というObjectもtkinter
モジュールの中に入ってものであって、ボータンである。
そして、TkinterではObjectの属性を生成の際に名前付きの引数をいれて作るようになっている。
つまり、text
として入れた値はボータンの文字に、command
の値はボータンがクリックされたときに行う関数が入る。
button.pack()
Button
を表示させる。
mainloop()
今までつくってきたプログラムは処理が終わるとプログラムが終了される。 問題は絵で表してもらっても、表した後すぐにプログラムが終了されるので、グラフィックを見る時間がない。 これを防ぐために、無限ループを作っておいてプログラムが終了されないようにする。
今見ている画面も無限ループを使って表示している。このようなシステムのことをTime-sharing systemという。