tkinter
Tkinterエントリーウィジェット
サーチ…
構文
- エントリ= tk.Entry( 親 、** kwargs )
- entry.get()
- entry.insert(index、 "value")
- entry.delete(start_index、end_index)
- entry.bind(イベント、コールバック)
パラメーター
パラメータ | 説明 |
---|---|
親 | tkinterウィジェットはヒエラキーに存在します。ルートウィンドウを除いて、すべてのウィジェットには親があります。一部のオンラインチュートリアルでは、この「マスター」と呼ばれています。ウィジェットがpack 、 place またはgrid で画面に追加されると、このウィジェットがこの親ウィジェットの内側に表示されます |
幅 | widthは、平均文字幅に基づいてウィジェットの希望の幅を指定します 。可変幅フォントの場合、これはゼロ文字の幅( 0 )に基づいています。デフォルトは20です。実際の幅は、画面にどのように追加されるかによって大きくなる場合もあれば小さくなる場合もあります。 |
備考
これらの例では、tkinter import tkinter as tk
(tminter)( import tkinter as tk
(3))またはimport Tkinter as tk
( import Tkinter as tk
(python 2))をimport tkinter as tk
てインポートしたと仮定しています。
エントリウィジェットの作成とデフォルト値の設定
entry = tk.Entry(parent, width=10)
entry.insert(0, "Hello, World!")
Entryウィジェットの価値を得る
エントリウィジェットの値は、ウィジェットのget
メソッドでget
ます。
name_entry = tk.Entry(parent)
...
name = name_entry.get()
必要に応じて、 StringVar
インスタンスを関連付けて、ウィジェットからではなくStringVar
から値を取得することもできます。
name_var = tk.StringVar()
name_entry = tk.Entry(parent, textvariable=name_var)
...
name = name_var.get()
エントリウィジェットへの検証の追加
入力可能な文字を入力ウィジェットに制限するには、例えば番号のみを入力すると、validateコマンドをそのエントリに追加することができます。 validateコマンドは、変更が受け入れられるとTrue
を返し、それ以外の場合はFalse
を返す関数です。この関数は、エントリの内容が変更されるたびに呼び出されます。変更の種類(挿入、削除)、挿入されたテキストなど、さまざまな引数をこの関数に渡すことができます。
def only_numbers(char):
return char.isdigit()
validation = parent.register(only_numbers)
entry = Entry(parent, validate="key", validatecommand=(validation, '%S'))
validate
オプションは、バリデーションをトリガするイベントのタイプを決定します。ここでは、エントリ内の任意のキーストロークです。 validatecommandオプションの'%S'
は、挿入または削除された文字が引数でonly_numbers
関数に渡されることをonly_numbers
ます。可能性の完全なリストはここで見つけることができます 。
エントリーウィジェットからintを取得する
.get()メソッドを使用する場合、エントリウィジェットにあるものはすべて文字列に変換されます。たとえば、入力のタイプ(数値または文)に関係なく、結果の結果は文字列になります。ユーザーが4を入力すると、文字列のように出力は「4」になります。 Entryウィジェットからintを取得するには、まず.get()メソッドを呼び出します。
What_User_Wrote = Entry.get()
今度はその文字列を次のようにintに変換します:
Convert_To_Int = int(What_User_Wrote)
同様に、時間を節約したい場合は、次の操作を行うだけです。
Convert_To_Int = int(Entry.get())
strをintに変換したくない場合は、上記の方法を使用できます。