イチオシ記事
『12歳から始めるゼロからのpython』やってみた。③ 【プログラミング】
スポンサーリンク

 

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() 文字列

 

先は長そうだけど、一つずつ進みます!

 

 

スポンサーリンク

Twitterでフォローしよう

おすすめの記事