Tkinter は、Python GUI プログラミングの標準インターフェイスとして、非常に豊富なウィンドウ コントロールを備えています。この記事では、その Text コンポーネントについて詳しく紹介します。
テキストコンポーネントは、複数行のテキストを表示・処理するためのコンポーネントであり、非常に柔軟な適用方法を持っています。
プロパティは、標準オプションとウィジェット固有のオプション
の 2 つのカテゴリに分類されます。基本的な説明の表には、
STANDARD 属性値 | 説明 |
背景 | 背景色 |
borderwidth | テキストコントロールの境界線の幅が示されています。デフォルトは 1 ~ 2 ピクセルです。 |
cursor | テキストコントロールのカーソル。デフォルトは文字挿入カーソル (通常は「I ビーム」タイプのカーソル) です |
エクスポート選択 | クリップボードへのコンテンツのコピーを許可するかどうか |
フォント | フォントの設定とサイズ |
前景 | 前景色 |
highlightbackground | は、テキスト コントロールが入力フォーカスを受け取らない場合のハイライトの背景色を定義します。テキスト コントロールの明るい端です。 |
highlightcolor | highlightbackground プロパティも同様です。これは、入力フォーカスを取得したときのテキスト コントロールの境界線の色にすぎません。 |
highlightthickness | 入力フォーカスを取得したときのテキスト コントロールの境界線の幅。通常は 1 ~ 2 ピクセルです。 |
insertbackground | テキストコントロールの挿入カーソルの色を設定します |
insertborderwidth | 挿入カーソルの境界線の幅。ゼロ以外の値の場合、カーソルは盛り上がった境界線を使用します。 |
insertofftime insertontime |
これら 2 つのプロパティは、挿入カーソルの点滅効果を制御します。挿入カーソルが現れたり消えたりする時間です。単位はミリ秒です。 |
insertwidth | 挿入カーソルの幅を設定します。 |
padx | x軸方向のパディング |
pady | y軸方向のパディング |
relief | テキストコントロールの3D境界線効果を指定します。デフォルトはフラットで、設定可能パラメータ; 平坦、溝、隆起、隆起、無地、沈み |
selectbackground | 選択したテキストの背景色を設定します |
selectborderwidth | 選択した領域の境界線の幅を設定します。 |
setgrid | ブール型。 True の場合、ウィンドウを最大化して Text コントロール全体を表示できます。 |
takefocus | は、Tab キーを使用して入力フォーカスをコントロールに移動できるかどうかを定義します。 |
xscrollcommand yscrollcommand |
スクロール バーをテキスト コントロールに関連付け、スクロール バーのアクションを処理します。スクロール バーは、それぞれ水平スクロール バーまたは垂直スクロール バーに対応します。 |
ウィジェット固有のウィンドウプロパティ | 説明 |
autoseparators | 単語間のスペース。デフォルト値は 1 です。 |
高さ | テキスト コントロールの高さ。デフォルトは 24 行です。 |
maxundo | Undoの最大数。デフォルトは 0 です。 |
spacing1 | 段落前の間隔。 |
spacing2 | 行間隔。 |
spacing3 | 段落後の間隔。 |
state | は、テキストコントロールの状態を定義します。 NORMAL と DISABLED の 2 つの状態があります: |
タブ | Tab キーを押したときの移動距離を定義します。 |
undo | 元に戻す/やり直し機能を有効にします。 |
width | テキストコントロールの幅を定義します。単位は文字数です。 |
ラップ | テキストコントロールのコンテンツをラップして表示する方法を定義します |
Text 基本クラスのメソッド:
メソッド名 | 説明 |
bbox() |
位置とサイズを記述するタプル(x,y,width,height)を返します |
Compare(index1, op,index2) |
論理比較結果を返します |
count(self,index1,index2) |
2つのインデックス間に関連するものの数を数えます。 |
debug(self, boolean=None) |
BOOLEANに従い、テキスト内のB-Treeの整合性をチェック |
delete(self,index1,index2=None) |
INDEX1を削除 |
dlineinfo(self,index)間のINDEX2(排他的)文字 |
はタプル(x、y、幅、高さ、ベースライン)を返します |
edit(self, *args) |
このメソッドは制御します元に戻すメカニズムと 変更されたフラグ。 |
get(self,index1,index2=None) |
インデックスINDEX1からINDEX2の間の値を返します(排他的) |
image_create(self,index,cnf={},**kw) | インデックス INDEX に埋め込み画像を作成します。 |
index(self,index) |
INDEXのインデックス値をline.charの形式で返します。 |
insert(self, Index, chars, *args) |
インデックスインデックス位置に文字を挿入 |
mark_names(self) |
すべてのマーク値を返す |
replace(self, index1,index2,chars,*args) |
インデックスindex1とindex2の間の値をcharsに置換 |
search(self,pattern,index) |
インデックス位置から正規表現の内容を検索 |
tag_add(self, tagName, Index1, *args) |
タグを追加 |
tag_bind(self, tagName, sequence, func, add=None) tag_unbind(self, tagName, sequence, funcid= None) |
イベントのバインドとバインド解除 |
tag_delete(self, *tagNames) |
タグの削除 |
tag_remove(self, tagName,index1,index2=None) |
インデックス間の特定のタグを削除 |
window_create(self,index, cnf={}, **kw) |
インデックス位置に子ウィンドウを作成 |
テキストコンポーネントの応用例。
1 つはシンプルな基本アプリケーションです
tkinter import *
class init_window():
def __init__(self):
self.tk = Tk()
self.window_attritions()
def window_attritions( self):
self.tk.title('テキストコンポーネントの学習')
アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウト アウトアウト" __main__":
win = init_window( )
win.tk.mainloop()
button = Button(win.init_data_text, text='テキストにボタンを挿入', command=show)
win.init_data_text.window_create( INSERT,window=button)
Index type
line.column | row/column |
line.end | 行の終わり |
INSERT | カーソル位置 |
END | テキストの終わり |
ユーザー定義のマーク | カスタムタグ |
ユーザー-定義されたタグ( "tag .first", "tag.last") | |
ウィンドウ座標("@x,y") | ウィンドウの位置|
以上がPython3.6 tkinterのテキストコンポーネントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。