タイトル画像
琴葉茜

さて、いよいよデスクトップアプリを作り始めようか!!ここからは章ごとに段階的に作っていくから、プログラムをマネしながら自分でも作ってみてね

琴葉葵

待ってました!
ところで、どんなアプリを作るの??

琴葉茜

今回は、簡単な「じゃんけんゲーム」だよ

琴葉葵

じゃんけん!誰でも知ってるからイメージしやすそう!

琴葉茜

じゃあまずは、「TkEasyGUI」を使えるようにするためにpipでインストールしようか

Windowsの場合

pip install TkEasyGUI

Macの場合

pip3 install TkEasyGUI
琴葉葵

pipはもう「外部ライブラリ」のところで何回もやってきたから慣れた!

琴葉茜

インストールが完了したらまずは、次のプログラムを「janken.py」ってファイルにコピーして動かしてみようか!

import TkEasyGUI as eg

# レイアウト(画面構成)
layout = [
    [eg.Text("じゃんけんアプリへようこそ!")],
    [eg.Text("これから少しずつ作っていこう")]
]

# ウィンドウを作成
window = eg.Window("じゃんけんアプリ", layout)

# イベントループ(閉じるまで表示)
while True:
    event, values = window.read()
    if event is eg.WINDOW_CLOSED:
        break

# ウィンドウを閉じる
window.close()
琴葉葵

おおー!起動した瞬間にウィンドウが出てきた!!

解説画像1
琴葉茜

Windowsなら右上、Macなら左上のウィンドウを閉じるボタンを押すことでプログラムを終了できるよ!

琴葉葵

お、押したらちゃんと終了した

琴葉茜

じゃあここからは、プログラムの詳細について説明していくね

解説画像2
琴葉茜

基本的には
① アプリ全体のオブジェクトの画面配置を決める2次元の配列「layout」を作る
② レイアウトを元にウィンドウを作成
③ オブジェクトのいずれかが反応するまで「window.read()」で待つ
④ 「event」の内容によって何か動作する
⑤ 「break」が処理されるまで無限ループする
⑥ ループ終了後にウィンドウを閉じる
って流れに沿ってプログラムを作っていくよ

琴葉葵

プログラムの上から順番に処理していくって流れは変わらないんだね!意外とシンプルで分かりやすいかも

琴葉茜

ちなみに、さっき言った「ウィンドウを閉じるボタン」を押した場合は「event」に「eg.WINDOW_CLOSED」と共通の情報が入るよ

琴葉葵

ということは、ちゃんとプログラムで終了する処理を作らないとアプリが閉じれなくなるんだね...気をつけないと

琴葉葵

ところで、「window.read()」の時の「event」と「values」っていうのはどんな情報が入ってるの?

琴葉茜

良いところに注目したね!それについては、次の項目で紹介するよ!!