この記事は、JavaとPythonを基礎から学びたい私のための Advent Calendar 2024の16日目の記事です。
アプリを作ってみたいと思います。
デスクトップアプリ
Pythonでは、パソコンで動くデスクトップのアプリを簡単に実装できるみたいです。おそらく、今後社会人になってPythonを使って何か作ることになるはずなので結構必須だと思われます。
C#ではUnity、C++はUnreal Engine、JavaならAndroid Studioなどアプリを作成するためのツールが存在するように、Pythonにもアプリを作るためのツールはあるみたいです。ただ、今日はコードだけでアプリを作れると知ったのでコードで作ってみようと思います。Pythonのゲームエンジンは後日勉強する機会があれば書きます。
tkinter
Pythonの標準ライブラリとして存在しているようです。何もなくてもいいので、とりあえずアプリとして動くところまでやってみます。
以下が、アプリが動くものになります
import tkinter as tk
A=tk.Tk()
A.mainloop()
解説
上から順に解説していきます。
import tkinter as tk
tkinterをimportします。それだけ。
A=tk.Tk()
AはtkinterのTkです。ここでウィンドウが作成されるようです。ここにいろいろな要素を追加して、アプリっぽくしていくみたいです。
A.mainloop()
これがないと動きません。アプリを動き続けている間、この行が動き続けていました。どうやら、アプリが終わるまでアプリのイベントを処理するためのもののようです。調べてみたところ、アプリのイベントが発生したかどうかを判定し続けるもののようです。
アプリにいろいろ手を加える
今の状態のアプリは何もないし、名前も初期状態の「TK」から何も変わってません。これにいろいろ手を加えて、それっぽくしていきます。
名前を変える
A.title("アプリもどき")
ここで付けたタイトルは、windowsパソコンでは左上に表示されるアプリの名前です。Macは持ってないのでどこに表示されるか知りませんが、どちらであってもこれで名前を付けることが出きるっぽいです。
アプリのサイズを変える
現状では初期状態の画面サイズは結構小さいです。これを結構大きくすることができるようです。
A.geometry("1000x800")
ジオメトリなるものを使うことでアプリのサイズを変更することができるようです。注意すべきなのは、1000x800のxの部分でしょう。小文字のアルファベットのxでした。
文字を表示する
味気ないので文字を表示します。
label=tk.Label(text='文字が出ました')
label.pack()
labelなるものを使うようです。「文字が出ました」と表示できました。2行目のlabel.pack()のカッコ内に表示させる場所を指定できるようです。
今日はここまで
まとめ
tkinderを使うことで、コードだけでアプリを作ることができた。geometryをつかうことで画面サイズを、titleでアプリ名を変更できた。また、labelを使うことで文字を出せた。
今日はここまでで、最終的にこうなりました。
import tkinter as tk
A=tk.Tk()
A.geometry("1000x800")
A.title("アプリもどき")
label=tk.Label(text='文字が出ました')
label.pack()
A.mainloop()
参考文献