python Tkinter 入門 サンプルコード 1

Python

python 標準ライブラリのTkinterを使用して、デスクトップアプリを作ってみたいと思います
ファイルを実行すればウインドウが開き、アプリケーションとして様々な機能を持たせることができます

第1回としてアプリ画面生成、ボタンの設置をしていきます

・環境

windows 11
python 3.12.2

・アプリ画面作成

とりあえず、アプリ画面を表示してみたいと思います

import tkinter as tk 

root = tk.Tk()           # tkオブジェクトを、rootに格納
root.title("sample_App") # アプリのタイトルを決定
root.geometry("600x400") # アプリ画面の大きさを設定

root.mainloop()          #メインループ実行、アプリスタート

これで何も表示されていないアプリが開いたと思います


ターミナルでキーボードインタラプト (ctrl + C)か、右上のX(閉じるボタン)で停止します

・ボタン設置

ボタンを設置していきます
.grid グリッド指定

import tkinter as tk 

root = tk.Tk()           # tkオブジェクトを、rootに格納
root.title("sample_App") # アプリのタイトルを決定
root.geometry("600x400") # アプリ画面の大きさを設定

button_1 = tk.Button(root, text="1", font=("Arial", 20), padx=30, pady=30)
# 親ウィジェット=root ボタンに表示するテキスト=1 フォント="Arial", 18 X方向の内部間隔=30 Y方向の内部間隔=30
button_1.grid(row=0, column=0)
# 設置位置をグリッド指定 1行目 1列目

root.mainloop()          #メインループ実行、アプリスタート

button_1 というボタンを設置しました

他にもボタンの設置位置の指定方法はあります
.pack 画面の端から設置

button_1 = tk.Button(root, text="1", font=("Arial", 20), padx=30, pady=30)
button_1.pack(side=tk.TOP) # 端から設置(上)

button_2 = tk.Button(root, text="1", font=("Arial", 20), padx=30, pady=30)
button_2.pack(side=tk.LEFT) # 端から設置(左)

button_3 = tk.Button(root, text="1", font=("Arial", 20), padx=30, pady=30)
button_3.pack(side=tk.RIGHT) # 端から設置(右)

button_4 = tk.Button(root, text="1", font=("Arial", 20), padx=30, pady=30)
button_4.pack(side=tk.BOTTOM) # 端から設置(下)

.place 画面のピクセル指定

button_1.place(x=100,y=100) # ピクセル指定 左上から x=0,y=0


for文でたくさん設置してみます
画面のバランスを整えるため、root.geometry(“600×400”) を外します

import tkinter as tk 

root = tk.Tk()           # tkオブジェクトを、rootに格納
root.title("sample_App") # アプリのタイトルを決定
#root.geometry("600x400") # アプリ画面の大きさを設定

buttons = [
    ('7', 1, 0), ('8', 1, 1), ('9', 1, 2),
    ('4', 2, 0), ('5', 2, 1), ('6', 2, 2),
    ('1', 3, 0), ('2', 3, 1), ('3', 3, 2),
    ('0', 4, 0)
]
# ボタンの情報をリストで格納 (text, row, column)

for (text, row, col) in buttons:
    button = tk.Button(root, text=text, font=("Arial", 20), padx=30, pady=30,)
# 親ウィジェット=root ボタンに表示するテキスト=text フォント="Arial",20 X方向の内部間隔=30 Y方向の内部間隔=30
    button.grid(row=row, column=col)
# ボタングリッド指定

root.mainloop()          #メインループ実行、アプリスタート

これでボタンをいろんな場所に設置することができました
次の記事はこちら
ボタンに機能を持たせていきます

コメント