Python Tkinter テキストボックス(Entry)
Python Tkinter のテキストボックスは、ユーザーに1行のテキスト文字列を入力させるために使用します。
複数行のテキストを入力する必要がある場合は、Textウィジェットを使用できます。
1行または複数行のテキストを表示し、ユーザーが変更できないようにする必要がある場合は、Labelウィジェットを使用できます。
構文
構文形式は次のとおりです:
w = Entry( master, option, ... )
master: ボタンの親コンテナ。
options: オプション項目、つまりボタンに設定可能な属性です。これらのオプションは キー = 値 の形式で設定し、カンマで区切ります。
| 番号 | オプション & 説明 |
|---|---|
| 1 | bg 入力ボックスの背景色 |
| 2 | bd ボーダーのサイズ。デフォルトは2ピクセル |
3 | cursor カーソルの形状設定。例: arrow, circle, cross, plus など |
| 4 | font テキストのフォント |
| 5 | exportselection デフォルトでは、入力ボックスでテキストを選択するとクリップボードにコピーされます。この機能を無視したい場合は exportselection=0 を設定します。 |
| 6 | fg 文字色。値は色名または色コードです。例: 'red'、'#ff0000' |
| 7 | highlightcolor テキストボックスのハイライトボーダー色。テキストボックスがフォーカスを取得したときに表示されます。 |
| 8 | justify 複数行のテキストを表示するとき、行間の配置を設定します。オプションには LEFT、RIGHT、CENTER があります。 |
| 9 | relief ボーダースタイル。コントロールの3D効果を設定します。選択肢: FLAT、SUNKEN、RAISED、GROOVE、RIDGE。デフォルトは FLAT です。 |
| 10 | selectbackground 選択中のテキストの背景色 |
| 11 | selectborderwidth 選択中のテキストの背景ボーダー幅 |
| 12 | selectforeground 選択中のテキストの色 |
| 13 | show テキストボックスの内容を指定した文字で表示します。値は任意で、文字であれば何でも構いません。パスワードの場合、 show="*" と設定できます。 |
| 14 | state デフォルトは state=NORMAL です。テキストボックスの状態で、読み取り専用と書き込み可能に分かれます。値: normal/disabled |
| 15 | textvariable テキストボックスの値。StringVar() オブジェクトです。 |
| 16 | width テキストボックスの幅 |
| 17 | xscrollcommand 水平スクロールバーを設定します。通常、ユーザーが入力したテキストボックスの内容の幅が、テキストボックスに表示される幅より大きい場合に使用します。 |
メソッド
次の表は、テキストボックスウィジェットでよく使われるメソッドです:
| 番号 | メソッド & 説明 |
|---|---|
| 1 | delete ( first, last=None ) テキストボックス内の指定位置の値を削除します。 text.delete(10) # 删除索引值为10的值 text.delete(10, 20) # 删除索引值从10到20之前的值 text.delete(0, END) # 删除所有值 |
| 2 | get() テキストボックスの値を取得します。 |
| 3 | icursor ( index ) カーソルを指定したインデックス位置に移動します。テキストボックスがフォーカスを取得した後でのみ有効です。 |
| 4 | index ( index ) 指定されたインデックス値を返します。 |
| 5 | insert ( index, s ) テキストボックスに値を挿入します。index: 挿入位置、s: 挿入値 |
| 6 | select_adjust ( index ) 指定したインデックスとカーソル位置の前の値を選択します。 |
| 7 | select_clear() 指定したコントロール内の選択をクリアします。 |
| 8 | select_from ( index ) カーソルの位置を設定します。インデックス値 index で設定します。 |
| 9 | select_present() 選択されている場合は true を返し、それ以外の場合は false を返します。 |
| 10 | select_range ( start, end ) 指定したインデックス位置の値を選択します。start(含む) が開始位置、end(含まない) が終了位置です。start は end より小さい必要があります。 |
| 11 | select_to ( index ) 指定したインデックスとカーソルの間の値を選択します。 |
| 12 | xview ( index ) このメソッドは、テキストボックスを水平スクロールバーにリンクする場合に役立ちます。 |
| 13 | xview_scroll ( number, what ) テキストボックスを水平にスクロールするために使用します。what パラメータは UNITS で文字幅単位でスクロール、または PAGES でテキストボックスウィジェットのブロック単位でスクロールできます。number パラメータは、正数で左から右へスクロール、負数で右から左へスクロールします。 |
実例
実例では、ボタンをクリックするとメッセージが表示されます:
実例
テスト出力結果は次のとおりです:
その他の拡張
Python GUIプログラミング