pythonの標準ライブラリ Tkinter
これを使うと簡単にデスクトップアプリが作れるらしい。
というわけで使ってみた。
コード
import tkinter as tk
root = tk.Tk()
root.title("簡単なデスクトップアプリ")
root.geometry("300x200")
label = tk.Label(root, text="Hello, World!")
label.pack(pady=20)
def on_button_click():
label.config(text="ボタンがクリックされました!")
button = tk.Button(root, text="クリック", command=on_button_click)
button.pack(pady=10)
root.mainloop()
コードの解説
1. import tkinter as tk
-
import
: 他のモジュールをプログラムに読み込むためのPythonの予約語 -
tkinter
: Python標準ライブラリの1つで、GUIアプリケーションを作成するためのツールキット -
as tk
: モジュールにエイリアス(別名)を付けるための構文。ここではtkinter
を短くtk
という名前で使用している
import tkinter as tk
2. root = tk.Tk()
-
tk.Tk()
:Tk
クラスのインスタンスを生成する。Tk
はtkinter
でアプリケーションのメインウィンドウを作成するためのクラス。root
はこのウィンドウを参照する変数
root = tk.Tk()
3. root.title("簡単なデスクトップアプリ")
-
title
: メインウィンドウのタイトル(ウィンドウ上部に表示される文字列)を設定するためのメソッド
root.title("簡単なデスクトップアプリ")
4. root.geometry("300x200")
-
geometry
: ウィンドウのサイズ(幅と高さ)を指定するためのメソッド。ここでは300x200
ピクセルのウィンドウを設定している
root.geometry("300x200")
5. label = tk.Label(root, text="Hello, World!")
-
tk.Label
:Label
は、テキストや画像などを表示するためのウィジェット(GUI要素)。ここでは、メインウィンドウ(root
)に「Hello, World!」というテキストを表示するラベルを作成している -
text="Hello, World!"
: ラベルに表示するテキストを指定している
label = tk.Label(root, text="Hello, World!")
6. label.pack(pady=20)
-
pack
: ウィジェットをウィンドウに配置するためのメソッド。pack
は、ウィジェットを順番に縦または横に並べるレイアウトマネージャー -
pady=20
: ウィジェットの上下に20ピクセルの余白(padding)を追加する
label.pack(pady=20)
7. def on_button_click():
-
def
: 関数を定義するためのPythonの予約語 -
on_button_click
: ボタンが押されたときに実行される関数。この関数はボタンのクリックイベントに関連付けられている
`def on_button_click()
8. label.config(text="ボタンがクリックされました!")
-
label.config
: 既存のラベルの設定を変更するためのメソッド。ここではラベルのテキストを「ボタンがクリックされました!」に変更した
label.config(text="ボタンがクリックされました!")
9. button = tk.Button(root, text="クリック", command=on_button_click)
-
tk.Button
:Button
は、ユーザーがクリックできるボタンを作成するウィジェット -
text="クリック"
: ボタンに表示するテキストを指定している(ここでは「クリック」) -
command=on_button_click
: ボタンがクリックされたときに実行する関数を指定する。ここでは先に定義したon_button_click
関数が呼び出される
button = tk.Button(root, text="クリック", command=on_button_click)
10. button.pack(pady=10)
-
pack
: ウィジェットをウィンドウに配置するためのメソッド。今回はボタンをメインウィンドウに追加している -
pady=10
: ボタンの上下に10ピクセルの余白を追加している
button.pack(pady=10)
11. root.mainloop()
-
mainloop
: アプリケーションのメインループを開始する。このメソッドが呼び出されると、ユーザーがウィンドウを閉じるまでプログラムが実行され続ける。イベント処理(ボタンのクリックなど)もこのループ内で行われる
root.mainloop()
他にも色んなウィジェットがあるらしいので、しばらくは模索していく予定