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

TkinterのEntryウィジェットの使い方を徹底解説!基本構文から実装例まで

Entryウィジェットとは

Entryウィジェットは、Tcl/Tkツールキットで定義されている1行テキスト入力用のウィジェットです。ユーザーからのテキスト入力を受け付けたり、入力内容を画面に表示したりする際に使用します。ログインフォームや検索ボックスなど、1行の短い入力欄が必要な場面でよく活用されます。

Entryウィジェットの基本的な使い方

Entryウィジェットを使用するには、まずコンストラクタ Entry(parent, width, **options) を使ってインスタンスを作成します。

ウィジェットを作成した後は、configure() メソッドを使うことで、フォント、色、幅などの各種プロパティを自由に設定できます。

実装例:名前を入力して挨拶を表示するアプリ

それでは実際に、ユーザーが名前を入力すると、その名前を使った挨拶メッセージをウィンドウに表示する簡単なアプリケーションを作成してみましょう。

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

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

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

def show_name():
    # Labelウィジェットを作成して挨拶を表示
    label = Label(win, text="こんにちは " + str(entry.get()) + " さん👋", font=('Calibri 25')).pack(pady=20)
    # 入力フィールドの内容をすべて削除
    entry.delete(0, END)

# 入力を促すラベルを作成
Label(win, text="お名前を入力してください").pack()

# Entryウィジェットを作成
entry = Entry(win, width=25)
entry.pack(pady=20)

# 送信ボタンを作成
Button(win, text="送信", command=show_name).pack()

# イベントループを開始
win.mainloop()

コードのポイント解説

このサンプルコードで特に重要なのが、以下の2つのメソッドです。

・entry.get():Entryウィジェットに入力された文字列を取得します。取得した値は str() で文字列化し、ラベルのテキストとして連結しています。

・entry.delete(0, END):入力フィールドの先頭(0)から末尾(END)までの内容をすべて削除します。これにより、送信後に入力欄が空になり、続けて次の入力ができるようになります。

実行結果

上記のコードを実行すると、Entryウィジェットとボタンが配置されたウィンドウが表示されます。Entryウィジェットに自分の名前を入力し、「送信」ボタンをクリックすると、入力した名前を使った挨拶メッセージがウィンドウ上に表示され、同時に入力欄がクリアされます。

TkinterのEntryウィジェットの使い方を徹底解説!基本構文から実装例まで

  1. Tkinterでボタンを押した後にEntryウィジェットの内容をクリアする方法

    TkinterのEntryウィジェットは、ユーザーからの入力を受け付けるための1行テキストフィールドを表示する際に使用されます。このウィジェットの内容を消去するには、delete(0, END)メソッドを使います。このメソッドは指定した範囲の文字列を削除するもので、「0」(先頭)から「END」(末尾)までを指定することで、入力欄全体を空にすることができます。実際の実装では、この削除処理を関数として定義し、Buttonオブジェクトのcommandオプションに渡します。こうすることで、ボタンがクリックされたタイミングでEntryウィジェットの内容がクリアされる仕組みになります。実装例以下の例では、

  2. TkinterのボタンでEntryウィジェットのテキスト・値を設定する方法

    はじめにTkinterのEntryウィジェットは、1行分のテキストを表示・入力するためのウィジェットです。このウィジェットの値や内容は、ボタンのクリックをトリガーとして設定することができます。Entryウィジェットに対する主な操作には、「insert(挿入)」と「delete(削除)」の2種類があります。ここでは、TkinterのButtonウィジェットを使って、Entryウィジェットの内容を設定する方法を解説します。コード例#Import the required libraries from tkinter import * #Create an instance of tkinter