Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python tkinter入門:TkウィンドウでFrameクラスを使ってウィジェットをグループ化する方法

Frameウィジェットとは

TkinterのFrameウィジェットは、複数のウィジェットをひとつのフレーム内にまとめる(グループ化する)ための非常に便利なコンテナです。親ウィンドウ(Tkクラス)に適用される関数やプロパティの多くは、フレームに対してもそのまま利用できます。

Frameウィジェットを作成するには、Frameクラスのインスタンスを生成します。ウィンドウ上にフレームを定義したら、あとは任意のウィジェットを選んで、そのフレームの中へ直接配置するだけです。

サンプルコード

以下の例では、Frameウィジェットを作成し、その中にいくつかのウィジェットを定義しています。

# 必要なライブラリをインポート
from tkinter import *
from tkinter import ttk

# tkinterのフレーム(ウィンドウ)のインスタンスを作成
win=Tk()

# ウィンドウのサイズを設定
win.geometry("700x250")

def on_click():
   label["text"]="Hello "+ str(entry.get())

# Frameウィジェットを作成
frame=Frame(win, width=400, height=300)

# フレーム内にラベルを追加
label=Label(frame, text="Enter your name", font=('Calibri 13'))
label.pack(pady=10)

# Entryウィジェット(テキスト入力欄)を追加
entry=Entry(frame, width=25)
entry.pack()

# ボタンを作成
ttk.Button(frame, text="Click Me", command=on_click).pack()
frame.pack()

win.mainloop()

コードのポイント

  • frame=Frame(win, width=400, height=300):親ウィンドウ win の中に、幅400×高さ300のフレームを生成しています。
  • Label / Entry / Button:これらのウィジェットは、すべて第1引数に frame を指定することで、フレーム内に配置されます。
  • pady=10:ラベルの上下に余白を設け、見た目を整えています。
  • frame.pack():最後にフレーム自体をウィンドウに配置することで、中身のウィジェットもまとめて表示されます。

実行結果

上記のコードを実行すると、フレームの中にラベル、テキスト入力欄(Entryウィジェット)、ボタンが配置されたウィンドウが表示されます。

Python tkinter入門:TkウィンドウでFrameクラスを使ってウィジェットをグループ化する方法

テキストフィールドに名前を入力し、「Click Me」ボタンをクリックすると、画面にメッセージが表示されます。

Python tkinter入門:TkウィンドウでFrameクラスを使ってウィジェットをグループ化する方法

まとめ

Frameウィジェットを使うことで、関連するウィジェットを論理的にまとめられ、レイアウトの管理やUIの整理が格段に行いやすくなります。特にウィジェット数が多いアプリケーションでは、機能ごとにフレームで分割しておくと、コードの可読性と保守性が大きく向上します。

  1. 【Python】Tkinterで作るカラーゲーム – 30秒で文字の色を当てるGUIゲーム開発

    GUIアプリケーションの開発において、Pythonの標準ライブラリ「Tkinter」は非常に人気が高く、初心者でも扱いやすいツールです。追加のインストール作業なしに使えるため、Tkinterを活用すればシンプルなGUIゲームでも手軽に開発できます。 この記事では、Tkinterを使った「カラーゲーム」の作り方を紹介します。このゲームでは、画面に表示される単語の文字色をプレイヤーが入力し、正解するたびにスコアが1点ずつ加算されます。制限時間は30秒で、使用される色は赤(Red)、青(Blue)、緑(Green)、ピンク(Pink)、黒(Black)、黄(Yellow)、オレンジ(Orange)、

  2. PythonでのCX_Freezeの使い方:スクリプトを実行ファイル(EXE)に変換する方法

    はじめに 何か面白いものを作りたいという欲求は人間の本能であり、完成したものは誰かに共有したくなるものです。Pythonでもその願いを叶えられます。ただし、作成したPythonスクリプトをそのまま共有するには、相手のマシンにも同じバージョンのPythonと、プログラムで使用しているすべてのモジュールがインストールされている必要があります。 そこで役立つのがCX_Freezeです。このツールを使えば、Pythonがインストールされていない環境でも動作するスタンドアロンの実行ファイル(.exe)を作成できます。 CX_Freezeのインストール まず、コマンドプロンプトで以下のコマンドを実行し、c