PROGRAM PYTHON

tkinter超入門【第29回 テキストフィールド】

 

 

Textウィジェットを使ってみよう

今回はTextウィジェットを使って、文字入力フィールドを表示してみましょう。
Textウィジェットは複数行の文字列を入力するためのGUI部品です。

 

Textウィジェットの書式

Textウィジェットの使い方は、以下の通りです。
※ tkinterを別名でインポートした場合は、tkinterの部分を別名にしてください。

オブジェクト名 = tkinter.Text(master=親ウィジェットオプション)

第1引数はTextウィジェットの親ウィジェットを指定します。
また、masterは省略することができます。

 

Textウィジェットで使うオプション

Textウィジェットで使う主なオプションは、以下の通りです。

オプション名 内容
font 使用するフォント *1
fg/foreground 文字の色 *2
bg/background 背景の色 *2
width 入力フィールドの幅。デフォルトは80
height 入力フィールドの高さ。デフォルトは24

*1 指定できるフォントは、tkinter.font.families()で確認できます。
*2 色の指定にはred、green、blueなどのカラー名や先頭に#(シャープ)を付けた16進数が使えます。

 

Textウィジェットの内容を取得する

Textウィジェットの内容を取得するには、get()メソッドを使います。

オブジェクト名.get(開始位置, 終了位置)

開始位置と終了位置は数字で "行番号.列番号" を指定します。
行番号と列番号を .(ピリオド)でつなぎます。(ダブルクォーテーションは省略することができます)
行番号は1から始まり、列番号は0から始まります
テキストフィールドの先頭は、"1.0" となります。
行末は".end"を使います。例えば、3行目の行末までの場合は "3.end" となります。
テキストフィールドの最後は "end" ですが、改行コードが含まれてしまうので、改行コードを含めたくない場合は "end-1chars"(省略して "end-1c" でも可)とします。
-1chars は、1キャラクター分後方に移動します。
5キャラクター分前方に移動する場合は、+5chars (or +5c) となります。

 

Textウィジェットを使ったプログラム

Textウィジェットを使ったプログラムは、以下のようになります。
テキスト、ボタン、ラベルを用意して、テキストフィールドに入力された内容をラベルに表示する関数をボタンに関連付けます。

プログラムを実行すると、以下のような画面が表示されます。
Clickボタンを押下すると、ラベルにテキストフィールドの内容が表示されます。

tkinter29-1  tkinter29-2

 

 

-PROGRAM, PYTHON
-