Tkinterを使ってGUI作成
TkinterでGUIを始めてみよう
まず初めに
環境はUbuntu18.04、Python3.6で行います。
経緯
この記事はPythonのTkiniterというGUIを簡単に作るためのライブラリを自分のためにメモ程度にまとめたものです。
Tkinterって?
Tkinter - Wikipediaによると、
Tkinter は Python からGUIを構築・操作するための標準ライブラリ(ウィジェット・ツールキット)である
。
と書かれているように、GUIを作成するためのライブラリです。
この記事では簡単なボタンとウィンドウメッセージを表示するプログラムを作ります。
とりあえずHello,World
以下のプログラムはウィンドウを作成するプログラムです。
import tkinter
window=tkinter.Tk()
window.title(u"Software Title")
label=tkinter.Label(text=u"hello,world.")
label.pack()
window.mainloop()
解説もどき
- window=tkinter.Tk() ウィンドウオブジェクトの生成。設計図をもとに実体を作った感じ。
- window.title() ウィンドウのタイトルを設定
- label=tkinter.Label(text="hogehoge") Labelという設計図をもとにlabelを作成
- label.pack() ウィンドウ上にlabelをpack、そのまま詰める。
- window.mainloop() イベントの待機。これがないと一瞬でウィンドウが消える。
実行結果
本来はラベルの文字列の長さによってウィンドウがサイズを自動で合わせるので、見にくい場合はgeometry()などをつかうといいかもしれません。
ボタンがあるGUIを作成
本題のボタンのあるGUIを作成します。ボタンはButton()を使います。
ボタンのラベルはtext、押された時の処理はcommand、で指定できます。
プログラム
import tkinter
import sys
window=tkinter.Tk()
window.title('Software Title')
label=tkinter.Label(text='hello,world.')
button=tkinter.Button(text='quit',command=sys.exit)
label.pack()
button.pack()
window.mainloop()
実行結果
quitボタンを押すと、sys.exitが呼び出され、実行中のmainloop()を終了してプログラムが終わるという流れです。