Python Tkinter テキストボックス(Entry)

Python GUI编程Python GUIプログラミング

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 パラメータは、正数で左から右へスクロール、負数で右から左へスクロールします。

実例

実例では、ボタンをクリックするとメッセージが表示されます:

実例

#!/usr/bin/python # -*- coding: UTF-8 -*- from Tkinter import * top = Tk() L1 = Label(top, text="サイト名") L1.pack( side = LEFT) E1 = Entry(top, bd =5) E1.pack(side = RIGHT) top.mainloop()

テスト出力結果は次のとおりです:

Python GUI编程Python GUIプログラミング

その他の拡張