GUIプログラムを作ってみる。
Pythonでプログラムを作る準備ができました。さっそく次に進みます。次は、『GUIプログラムを作る』です。
グラフィカルユーザーインターフェース、略して『GUI(ぐい)』。
マウスやボタンで操作できる画面のことらしいです。なにかとよく使うやつですね。各種サービスのアカウント作成時の入力画面や、WindowsエクスプローラなんかもGUIです。
反対に、コマンドプロンプトのようなのが、『CUI』。GUIの対義語。
リリーに、○○分と伝えると、『○○時間です』と返してくれるGUIプログラムを作成していきます。
数字を入力して『聞く』ボタンをクリックすると、分を時間に直してリリーが教えてくれます。
tkinter(ティーケーインター)というモジュールを使ってソースコードを記述していきます。
import tkinter
#ウィンドウの作成
root = tkinter.Tk()
root.title("リリーに質問")
root.minsize(640,480)
root.option_add("*font", ["MS Pゴシック" , 22])
#画像表示
canvas = tkinter.Canvas(bg="black" , width=640 , height=480)
canvas.place(x=0 , y=0)
img = tkinter.PhotoImage(file = "img3/chap3-back.png")
canvas.create_image(320 , 240 , image = img)
#テキスト表示
question = tkinter.Label(text="知りたいのは何分かな?" , bg="white")
question.place(x=100 , y=40)
#テキストボックス表示
entry = tkinter.Entry(width=12 , bd=4)
entry.place(x=50 , y=133)
#質問ボタン表示
askbutton = tkinter.Button(text="聞く")
askbutton.place(x=260 , y=125)
#答え表示
answer = tkinter.Label(text="・・・・・・・" , bg="white")
answer.place(x=115 , y=235)
#イベント設定
def ask_click():
val =entry.get()
minutes = float(val)
hours = round(minutes/60 , 2)
answer["text"] = str(hours) + "時間だね!!"
askbutton["command"] = ask_click
#メインループ
root.mainloop()
PROGATEやHTMLの教本で学んだのが、なかなか役に立ってるかも!?…と。
変数の値を書き換える書き方とか、本の中ではフォローしてなかったと思う。
answer["text"] = str(hours) + "時間だね!!"
これが、最初『???』だった。
変数とか、属性や値の記述、関数の定義とか、ざっくり形は理解していたので、わりとすんなりと進めました。tkinterという、GUIを作るモジュールの使い方が学べます。
これってほんの一例で、ちょっとググったらいろいろ出てきて、使いこなすには数練習するしかないのかな、と思いました。
Canvasだけでもこんなにいっぱいあった。。。
create_line() | 直線(折れ線) |
create_oval() | 楕円 |
create_arc() | 円弧(楕円の円周の一部) |
create_rectangle() | 矩形 |
create_polygon() | 多角形 |
create_image() | イメージ |
create_bitmap() | ビットマップ |
create_text() | 文字列 |
先は長そうだけど、一つずつ進みます!