※このページではアフィリエイト広告を利用しています

【Python応用】Tkinterでアプリ作成-Entryの使用例まとめ-

Python

ここでは、Tkinterでの「Entry」の使用例をまとめています。

この記事の対象

  • Entryとは?を知りたい方
  • Entryの初期値設定の方法を知りたい方
  • Entryの使用例を知りたい方
スポンサーリンク
スポンサーリンク

Entryとは?

Entryとはテキストボックスのことを指します。

何か文字列を入力したい場合に使用するものです。例えば、passwordなどです。

基本的な型

tk.Entry(option)

「tk.Entry」でテキストボックスを作成できます。また、オプションも以下のようなものが指定可能です。

Option内容
bgテキストボックスの背景色指定
bd枠線サイズの指定。デフォルトは2ピクセル
width横幅指定
fontテキストのフォントタイプ・サイズの指定
command関数の指定
cursorマウスホバー時のカーソルの種類指定
state状態の指定。tkinter.NORMAL、tkinter.DISABLE、readonlyを指定
textvariableテキストを変数指定
fg入力文字列の色指定
justify入力位置指定。デフォルトはleft
reliefボーダーデザインの指定
showテキスト入力時に指定した文字を入力文字の代わりに表示

Entryの作成

from tkinter import *
import tkinter as tk
#1---画面生成
root = Tk()
root.title("Test")
root.configure()
root.geometry("640x395")
#2---entry作成
txt = tk.Entry(width = 65)
txt.place(x=10, y=10)
root.mainloop()

1の部分では画面を作成しています。次に2の部分でEntryを大きさと場所を指定して作成しています。

結果

Entryの表示を「*」に指定

from tkinter import *
import tkinter as tk
#1---画面生成
root = Tk()
root.title("Test")
root.configure()
root.geometry("640x395")
#2---entry作成
txt = tk.Entry(show='*',width = 65)
txt.place(x=10, y=10)
root.mainloop()

任意の文字列表示にする場合は、オプションの「show」を使用するだけです。

結果

Entryに初期値(デフォルトのテキスト)を入れる

from tkinter import *
import tkinter as tk
#1---画面生成
root = Tk()
root.title("Test")
root.configure()
root.geometry("640x395")
#2---entry作成
txt = tk.Entry(width = 65)
txt.insert(0, "Default Text")
txt.place(x=10, y=10)
root.mainloop()

デフォルトで任意のテキストを入れておきたい場合は、「insert」を用いることで簡単に設定できます。insertメソッドの引数は以下になります。

***.insert(位置,文字列)

結果

EntryをReadonlyにする

from tkinter import *
import tkinter as tk
#1---画面生成
root = Tk()
root.title("Test")
root.configure()
root.geometry("640x395")
#2---entry作成
txt = tk.Entry(width = 65, state = 'readonly')
txt.place(x=10, y=10)
root.mainloop()

状態の指定は、tkinter.NORMAL、tkinter.DISABLE、readonlyから選択できます。

NORMAL:文字の入力、選択、コピーが可能

DISABLE:文字入力は不可、選択・コピーは可能

readonly:入力、選択、コピー不可

結果

Entryに参照のpathを出力

from tkinter import *
import tkinter as tk
from tkinter import filedialog
#1---ボタンクリック
def btn_click():
    dirname = filedialog.askdirectory() #askdirectory
    if len(txt.get()) >= 1 :
        txt.delete(0, tk.END)
    txt.insert(tk.END,dirname)#txtへの插入

#2---画面生成
root = Tk()
root.title("Test")
root.configure()
root.geometry("640x395")
#3---entry作成
xt = tk.Entry(width = 65, bg = "#FAF8EC")
txt.place(x=10, y=10)
#4---ボタン作成
button = Button( text = "参照", command = btn_click)
button.pack(expand=True, anchor=tk.CENTER)

root.mainloop()

1の部分ではボタンをクリックした後の動きを関数化したものです。内容としては、entryに何かしら文字列があったら削除して、pathを書き込むというものです。

entryに文字列があるかどうかは「get()」を用いることで取得できます。

書き込む場合は、「insert()」を用います。引数に位置と書き込む内容を指定します。

結果

タイトルとURLをコピーしました