サーチ…


構文

  • エントリ= tk.Entry( 、** kwargs
  • entry.get()
  • entry.insert(index、 "value")
  • entry.delete(start_index、end_index)
  • entry.bind(イベント、コールバック)

パラメーター

パラメータ説明
tkinterウィジェットはヒエラキーに存在します。ルートウィンドウを除いて、すべてのウィジェットには親があります。一部のオンラインチュートリアルでは、この「マスター」と呼ばれています。ウィジェットがpackplaceまたはgridで画面に追加されると、このウィジェットがこの親ウィジェットの内側に表示されます
widthは、平均文字幅に基づいてウィジェットの希望の幅を指定します 。可変幅フォントの場合、これはゼロ文字の幅( 0 )に基づいています。デフォルトは20です。実際の幅は、画面にどのように追加されるかによって大きくなる場合もあれば小さくなる場合もあります。

備考

これらの例では、tkinter import tkinter as tk (tminter)( import tkinter as tk (3))またはimport Tkinter as tkimport 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に変換したくない場合は、上記の方法を使用できます。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow