tkinter.(ttk.)Entry【単一行エディットボックス ウィジェット】
メモ
- 単一行エディットボックス ウィジェットの作成〔 例 〕
- tkinter.Entry:従来のウィジェット
- tkinter.ttk.Entry:テーマ付きウィジェット
- 編集テキスト
ウィジェット変数の使用 初期値設定 取得 textvariable【ウィジェット変数】に指定 ウィジェット変数に設定
・コンストラクタの value 引数に指定
・set( )【設定】ウィジェット変数から取得
・get( )【取得】未使用 insert( )【文字列挿入】 get( )【文字列取得】 - 入力検証〔 例 〕
- パスワード文字
- 暗証番号等の入力には、show【パスワード文字】を指定
外部リンク
オプション
メモ〔 例 〕
- ttk.Entry の font【フォント】の Style 指定は不可
- オプションの設定方法
- コンストラクタで辞書型引数 (tk のみ)・キーワード引数として指定
- オプション名を辞書インデックスとして指定 ( widget ['オプション名'] )
- config・configure【オプション設定・取得】で辞書型引数・キーワード引数として指定
- オプション関連のメソッド
- オプション関連メソッド
- Style.configure( ):Style に設定した値
- 注) 実装依存 (各種ドキュメントに相違があり)
オプション 一覧
個別 | tk | ttk | 説明 |
---|---|---|---|
exportselection | ● | ● | Xセレクション True・YES 等の定数:有効 False・NO 等の定数:無効 |
state | ● | Config | 状態 (tk 互換用 ttk:(stateflags)【状態フラグ】を上書き) ・NORMAL【通常状態】 ・DISABLED【無効状態】 ・'readonly'【読み取り専用状態】 |
(stateflags) | state( ) 〔詳細〕 | 状態フラグ (組合せ:state【状態】の変更なし) ・(なし):通常状態 ・'disabled':無効状態 ・'focus':フォーカスあり状態 ・'readonly':読み込み専用状態 | |
xscrollcommand | ● | ● | 水平方向のスクロール発生時の呼び出し関数 (関連スクロールバーの操作等の処理) |
テキスト | tk | ttk | 説明 |
font | ● | Config | フォント (tkinter.Font) |
show | ● | Config | パスワード文字 |
textvariable | ● | Config | テキスト用ウィジェット変数 |
検証処理 | tk | ttk | 説明 |
invalidcommand invcmd | ● | Config ― | 検証NG処理関数 validatecommand【検証処理】が False【無効】を返却した場合の処理 〔検証処理詳細〕 (デフォルト { }:無効) |
validate | ● | Config | 検証モード (検証処理はvalidatecommand【検証処理】に指定)〔検証処理詳細〕 ・'none'【検証なし】 ・'focus'【フォーカス検証】:フォーカス取得 と フォーカス喪失 で検証 ・'focusin'【フォーカスイン検証】:フォーカス取得 で検証 ・'focusout'【フォーカスアウト検証】:フォーカス喪失 で検証 ・'key'【キー検証】:編集されると検証 ・'all'【全て検証】:上記の全ての検証 |
validatecommand vcmd | ● | Config ― | 検証処理関数〔検証処理詳細〕 (デフォルト { }:無効) |
サイズ・配置 | tk | ttk | 説明 |
width | ● | Config | 幅 (文字数 / 0以下:自動計算) |
justify | ● | Config | テキスト等の配置位置 ・LEFT【左端寄せ】 ・CENTER【中央寄せ】 ・RIGHT【右端寄せ】 |
padding | ● | 内部間隔のリスト (左端・上端・右端・下端の順) | |
外観 | tk | ttk | 説明 |
borderwidth (bd) | ● | 境界線の幅 | |
relief | ● | Style | 外観 |
色 関連 | tk | ttk | 説明 |
background (bg) | ● | Style ※ | 背景色 tk Style ※:fieldbackground【入力域の背景色】の別名 (macOS のみ) |
foreground (fg) | ● | ● (―) | 前景色 |
darkcolor | Style | 入力域の枠の色 (入力中以外) | |
fieldbackground | Style | 入力域の背景色 | |
lightcolor | Style | 入力域の枠の色 (入力中) | |
disabledbackground | ● | Style.map() [background] | 無効状態の背景色 (空文字列:通常の背景色) |
disabledforeground | ● | Style.map() [foreground] | 無効状態の前景色 (空文字列:通常の前景色) |
bordercolor | Style | 外枠の色 | |
highlightbackground | ● | Style | 外枠の色 (入力フォーカスなし) |
highlightcolor | ● | Style | 外枠の色 (入力フォーカスあり) |
highlightthickness | ● | Style | 外枠の幅 (入力フォーカス用) |
readonlybackground | ● | Style.map() [background] | 読み取り専用状態の背景色 (空文字列:通常の背景色) |
(readonlyforeground) | Style.map() [foreground] | 読み取り専用状態の前景色 (空文字列:通常の背景色) | |
selectbackground | ● | Style | 選択範囲の背景色 |
selectborderwidth | ● | Style | 選択範囲の枠幅 (ピクセル単位 等) |
selectforeground | ● | Style | 選択範囲の前景色 |
挿入カーソル 関連 | tk | ttk | 説明 |
insertbackground | ● | 挿入カーソルの背景色 | |
insertborderwidth | ● | 挿入カーソルの枠の幅 (ピクセル単位 等) | |
insertofftime | ● | 挿入カーソルの点滅のオフ時間 (ミリ秒 / 0:点滅なし) | |
insertontime | ● | 挿入カーソルの点滅のオン時間 (ミリ秒) | |
insertwidth | ● | Style | 挿入カーソルの全体幅 (ピクセル単位 等) |
共通 | tk | ttk | 説明 |
class_ | ○ | クラス名 | |
cursor | ● | Config | マウスカーソル名 |
name | ○ | ○ | インスタンス名 (省略:自動命名) 先頭は小文字・ドットは不可 / フルパスで一意 〔 インスタンス識別 〕 |
style | Config | スタイル名 (TEntry) | |
takefocus | ● | Config | [Tab]キー等でのフォーカス移動の有無〔フォーカス〕 ・'' (空文字列):自動設定 ・False:なし (スキップ) ・True:あり (タブストップ) |
凡例
●:各種方法で指定可能
○:コンストラクタでのみ指定可能
▲:config( ) 等でのみ指定可能
Config:コンストラクタ 及び config( ) 等で指定可能
Style:Style でのみ指定可能
Method:メソッドの引数で指定
Default:デフォルト値
:テーマ依存
○:コンストラクタでのみ指定可能
▲:config( ) 等でのみ指定可能
Config:コンストラクタ 及び config( ) 等で指定可能
Style:Style でのみ指定可能
Method:メソッドの引数で指定
Default:デフォルト値
:テーマ依存
style.map (スタイル名, 対象 = [(状態, 状態の値)])
対象 | 状態 | オプション | 備考 |
---|---|---|---|
background 【背景色】 | disabled【無効状態】 | disabledbackground | 環境依存 |
focus【フォーカスあり状態】 | |||
readonly【読み取り専用状態】 | readonlybackground | 環境依存 | |
foreground 【前景色】 | disabled【無効状態】 | disabledforeground | |
focus【フォーカスあり状態】 | |||
readonly【読み取り専用状態】 | (readonlyforeground) |
色 | 説明 |
---|---|
'色名' | 色名:'red'・'green'・'blue'・'gray0'~'gray100'・'system~' 等 下記参照 Tcl8.6/Tk8.6 - Tk Commands - colors (同名色でも HTML5:カラー定義 と定義に差異あり) |
'#RGB' | 16進 4ビット |
'#RRGGBB' | 16進 8ビット |
'#RRRGGGBBB' | 16進 12ビット |
'#RRRRGGGGBBBB' | 16進 16ビット |
マウスカーソル名の詳細 ( cursor )
マウスカーソル名 | 説明 |
---|---|
'マウスカーソル名' | 下記参照 ('arrow'・'wait' 等) Tcl8.6/Tk8.6 - Tk Commands - cursors (英語) Tkinter 8.5 reference: a GUI for Python - Cursors (英語) |
外観の詳細 ( relief )
外観 | 説明 |
---|---|
FLAT | フラット |
GROOVE | 凹み枠 |
RAISED | 隆起 (凸) |
RIDGE | 隆起枠 (凸枠) |
SOLID | 実線 |
SUNKEN | 凹み |
検証処理詳細〔 例 〕 ( validate ・validatecommand ・invalidcommand )
- 検証処理を複数のウィジェットで共有する場合、name【インスタンス名】を設定
- validate【検証モード】に検証のタイミングを設定
- invalidcommand【検証NG処理関数】に必要であれば、下記の検証処理が NG の場合の処理関数を指定 (エラー表示等)
- validatecommand【検証処理関数】 に register( )【関数登録】で登録した関数と任意の引数のタプルを指定
引数には下記の置換コードの文字列を指定可能
置換コード | 備考 |
---|---|
%d | アクションコード 削除:0 挿入:1 その他:-1 |
%i | 挿入・削除の開始テキストインデックス その他:-1 |
%P | 変更後のテキスト (予定) |
%s | 変更前のテキスト |
%S | 挿入・削除されるテキスト |
%v | validate【検証モード】オプションの値 |
%V | 呼び出し理由 ( 'focusin'・'focusout'・'key'・'forced' ) |
%W | インスタンス名 (フルパス) 〔 name【インスタンス名】 〕 |
メソッド
コンストラクタ | 備考 |
---|---|
Entry(master=None, cnf={ }, **kw) ttk.Entry(master=None, **kw) | コンストラクタ master親 (tkinter.Tk【トップレベルウィンドウ】・コンテナウィジェット) cnf (辞書型引数)辞書型のオプション kw (キーワード引数)オプション (複数可) |
固有メソッド | 備考 |
bbox(index) ttk | 文字枠情報 取得 戻り値文字枠情報のタプル (下記参照) index文字インデックス (0~) 文字枠情報:次のタプル (ピクセル単位) (左上隅のx座標, 左上隅のy座標 , 文字の幅, 文字の高さ) |
delete(first, last=None) | 指定位置の文字列削除 戻り値空文字列 first最初の文字インデックス last最後の文字の次の文字インデックス(省略:first + 1:1文字) |
get() | 文字列取得 |
icursor(index) | 挿入カーソル位置設定 戻り値空文字列 index文字インデックス (0~) |
index(index) | 正規化文字インデックス取得 戻り値範囲内の文字インデックス index文字インデックス (0~) |
insert(index, string) | 文字列挿入 |
scan_dragto(x) | |
scan_mark(x) | |
select_adjust(index) selection_adjust(index) | |
select_clear() selection_clear() | 選択の解除 |
select_from(index) selection_from(index) | |
select_present() selection_present() | 選択の有無 (True:選択あり / False:選択なし) |
select_range(start, end) selection_range(start, end) | |
select_to(index) selection_to(index) | |
validate() ttk | 再検証 |
xview(*args) | 水平方向スクロールコマンド処理 戻り値 (引数なし) 表示されている要素のスクロール位置 (0~1) のタプル (先頭要素, 最終要素) 戻り値 (引数あり)無効 argsコマンド と 引数 コマンドにより下記を呼び出し ・xview_moveto【水平方向のスクロール (位置指定)】 ・xview_scroll【水平方向のスクロール (単位指定)】 ※:Scrollbar【スクロールバー】等の関連ウィジェットの command【呼び出し関数】オプションに設定で、 関連ウィジェットの操作が反映 |
xview_moveto(fraction) | 水平方向のスクロール (位置指定) fraction位置 (0 ~ 1) |
xview_scroll(number, what) | 水平方向のスクロール (単位指定) number方向の整数値 (負数:左方向 / 正数:右方向) whatコマンド文字列 (UNITS:文字単位 / PAGES:ページ単位 / その他:左記の省略形) |
共通メソッド (抜粋) 〔詳細はリンク先〕 | 備考 |
cget( 'option' ) widget['option'] | オプション値 取得 下の構文はオプション値の設定も可 |
config( ~ ) configure( ~ ) | オプション 設定・取得 |
pack( ~ ) | 配置 (パック形式) |
grid( ~ ) | 配置 (グリッド形式) |
place( ~ ) | 配置 (座標形式) |
state( ~ ) ttk | 状態フラグ 取得・設定 |
instate( ~ ) ttk | 状態フラグ チェック |
例
作成
オプション設定
検証処理
出力例