【Python】テキストボックス(Tkinter.Entry)の作成・クリア・取得・セット

スポンサーリンク

Pythonでは「Tkinter」を使ってGUIでテキストボックス(Entry)を作ることができます。

画面(ウィンドウ)を作ったり、テキストボックスを作ったり、ラベルを作ったりできます。

今回は、Pythonで「Tkinter.Entry」でテキストボックスを作り、テキストボックスを作成・クリア・取得・セットする方法を解説します。

Tkinterでテキストボックスを作る

Tkinter

Pythonでテキストボックス・ラベルを作るには、「tkinter」モジュールを使います。

「tkinter」は「Tool Kit Interface」のことで、Python標準のGUIアプリケーションを作成するモジュールです。

画面を作る

import tkinter

# Tkクラス生成
root = tkinter.Tk()
# 画面サイズ
root.geometry('300x200')
# 画面タイトル
root.title('テキストボックス')
# 表示
root.mainloop()

画面作成の詳細はこちらを参照ください。

参考ページPythonでGUI 画面(ウィンドウ)を作る(tkinter)

ラベルを作る

import tkinter 

# ラベル
lbl = tkinter.Label(text='数値')
lbl.place(x=30, y=70)

ラベルの詳細はこちらを参照してください。

参考ページPython ラベルを作る(tkinter)

テキストボックス(Entry)を作る

import tkinter

# テキストボックス
txt = tkinter.Entry(width=20)
txt.place(x=90, y=70)

テキストボックスは「tkinter.Entry」で作成します。テキストボックスの幅は「width」で指定します。

テキストボックスを表示する座標は「place」で指定します。

画面・テキストボックス・ラベルを作成

これまでの画面・テキストボックス・ラベルをまとめたものがこちらです。

import tkinter

# Tkクラス生成
root = tkinter.Tk()
# 画面サイズ
root.geometry('300x200')
# 画面タイトル
root.title('テキストボックス')

# ラベル
lbl = tkinter.Label(text='数値')
lbl.place(x=30, y=70)

# テキストボックス
txt = tkinter.Entry(width=20)
txt.place(x=90, y=70)

# 表示
root.mainloop()

作成した画面

これで「tkinter」を使ってテキストボックス・ラベルを作成することができました。

テキストボックス(Entry)をクリア・セット・取得する

テキストボックス(Entry)をクリアする(文字を削除する)delete

# テキストボックスをクリア
txt.delete(0, tkinter.END)

テキストボックスに文字を削除してクリアするには、「delete」を使います。

第1パラメータはテキストボックス内の削除開始位置です。第2パラメータはテキストボックス内の削除終了位置です。

ここでは「0, tkinter.END」としています。つまりテキストボックス内の最初から最後までをすべて削除するということです。

テキストボックス(Entry)に文字をセットするinsert

# テキストボックスに文字をセット
txt.insert(tkinter.END,"1234")

テキストボックスに文字をセットするには、「insert」を使います。

第一パラメータは文字をセットする位置です。「tkinter.END」はテキストボックスの最後に追加するという意味です。

作成した画面

テキストボックス(Entry)の文字を取得するget

# テキストボックスの文字を取得
txt.get()
#[結果] '1234'

テキストボックスに入力された文字を取得するには、「get」を使います。

上の画面にボタンを追加して、ボタンのクリックイベントの中で「get」すれば、テキストボックスの値を取得できます。ボタンのクリックイベントの詳細はこちらを参照してください。

参考ページ【Python】ボタンのクリックイベントを取得する

 

Pythonライブラリhttps://docs.python.jp/3/library/tk.html

以上、Pythonで「Tkinter.Entry」を使って テキストボックスを作り、テキストボックスを作成・クリア・取得・セットする方法でした。

コメント

  1. るっちょ より:

    「参考ページ」と書いてあるリンク先、ここが『参考』ではなく
    理解しておくべき『前提条件』ですね

    mainloop()が書かれていないので、このページだけでは、
    なにも表示されず、悩みました。

    それと
    >テキストボックス(Entry)の文字を取得するget
    も「txt.get()」で取得できるのですが、
    ・どこに書けばいいの?
    ・どうやって実行させるの?
    が、わからずに悩みました。

    なのですが、いくつか見た説明の中で一番参考になりました。
    ありがとうございました。

    • 鎖プロ より:

      返信、遅くなりまして申し訳ございません。
      mainloop()を飛ばしていたので、明記しました。
      また、getの使用例を明記しました。
      ご指摘ありがとうございました!

  2. あああのあ より:

    自分もmainloop()がなくてちょっとてこずりました笑
    とても見やすいサイトなのでぜひ改善していただければと思います!

    • 鎖プロ より:

      色々と申し訳ございません。
      mainloop()を飛ばしていたので、明記しました。
      ご指摘ありがとうございました!