ホームページ  >  記事  >  バックエンド開発  >  これはおそらく tkinter コントロール プロパティの最も完全なコレクションです

これはおそらく tkinter コントロール プロパティの最も完全なコレクションです

坏嘻嘻
坏嘻嘻オリジナル
2018-09-17 09:15:2913915ブラウズ

この記事では、tkinter コントロールのプロパティの完全なリストを提供します。これには特定の参照値が含まれています。必要な友人は参照してください。お役に立てば幸いです。

1.ボタンボタン。ラベルに似ていますが、マウス オーバー、プレス、リリース、キーボード操作/イベントなどの追加機能を提供します
2. Canvas キャンバス。描画機能 (線、楕円、多角形、長方形) を提供します。グラフィックまたはビットマップを含めることができます。
3.Checkbutton 選択ボタン。任意の 1 つを選択できる一連のボックス (HTML のチェックボックスと同様)
4. 入力テキスト ボックス。キーボード入力を収集するために使用される単一行のテキスト フィールド (HTML のテキストと同様)
5. フレーム。他の成分を含む純粋な容器
6.ラベルラベル。テキストまたは画像を表示するために使用されます。
7.Listbox リスト ボックス。ユーザーが選択できるオプションのリスト
8.Menu メニュー。メニュー ボタンをクリックすると、オプションのリストが表示され、ユーザーはそこから
9.Menubutton メニュー ボタンを選択できます。メニューを含めるために使用されるコンポーネント (ドロップダウン、カスケードなど)
10. メッセージ メッセージ ボックス。ラベルに似ていますが、複数行のテキストを表示できます。
11.Radiobutton ラジオ ボタン。ボタンのセット。そのうちの 1 つだけを「押す」ことができます (HTML のラジオに似ています)
12.進行状況バーをスケールします。リニア「スライダー」コンポーネントは開始値と終了値を設定でき、現在の位置の正確な値を表示します。
13.Scrollbar スクロール バー。サポートするコンポーネント (テキスト フィールド、キャンバス、リスト ボックス、テキスト ボックス) にスクロール機能を提供します。
14.Text テキスト フィールド。複数行のテキスト領域。ユーザーが入力したテキストを収集 (または表示) するために使用できます (HTML のテキスト領域に似ています)。フレームに似ていますが、独立したウィンドウ コンテナーを提供します。
Tkinter は 15 のコア ウィジェットをサポートしています。これら 15 のコア ウィジェット クラスのリストは次のとおりです:
ウィジェットと説明:
ボタン:
コマンドまたはその他の操作を実行するために使用される単純なボタン。
キャンバス:
組織のグラフィックス。このウィジェットは、チャートやグラフの描画、グラフィック エディタの作成、カスタム ウィジェットの実装に使用できます。
チェックボタン:
2 つの異なる値を持つ変数を表します。このボタンをクリックすると、これら 2 つの値が切り替わります。
エントリ:
テキスト入力フィールド。
フレーム:
コンテナ ウィジェット。フレームには境界線や背景を含めることができ、アプリケーションまたはダイアログ レイアウトを作成するときに他のウィジェットを整理するために使用されます。
ラベル:
テキストまたは画像を表示します。
リストボックス:
代替案のリストを表示します。リストボックスは、ラジオボタンまたはチェックリストのように動作するように構成できます。
メニュー:
メニュー バー。ドロップダウン メニューとポップアップ メニューを実装するために使用されます。
メニューボタン:
メニューボタン。ドロップダウン メニューを実装するために使用されます。
メッセージ:
テキストを表示します。ラベル ウィジェットに似ていますが、テキストを指定された幅または比率に自動的に調整します。
ラジオボタン:
複数の値のうちの 1 つを持つことができる変数を表します。これをクリックすると、この変数の値が設定され、同じ変数に関連する他のラジオボタンがクリアされます。
スケール:
スライダーを使用して数値を設定できます。
スクロールバー:
キャンバス、エントリ、リストボックス、テキスト ウィジェットで使用する標準のスクロール バー。
テキスト:
書式設定されたテキストの表示。さまざまなスタイルとプロパティを使用してテキストを表示および編集できます。インライン イメージとウィンドウの両方がサポートされています。
トップレベル:
別の最上位ウィンドウとして表示されるコンテナ ウィジェット。
Tkinter ではウィジェット クラスは階層構造ではないことに注意してください。すべてのウィジェット クラスはツリー内で兄弟です。
これらのウィジェットはすべて、その他の管理メソッド、ジオメトリ管理メソッド、構成管理メソッド、およびウィジェット自体によって定義されたその他のメソッドを提供します。さらに、Toplevel クラスはウィンドウ管理インターフェイスも提供します。これは、一般的なウィジェット クラスが約 150 のメソッドを提供することを意味します。
ボタン ウィジェット
ボタン ウィジェットは、さまざまなボタンを実装するために使用される標準の Tkinter ウィジェットです。ボタンにはテキストや画像を含めることができ、ボタンを Python 関数またはメソッドに関連付けることもできます。このボタンが押されると、Tkinter は関連付けられた関数またはメソッドを自動的に呼び出します
ボタンには 1 つのフォントしか表示できませんが、テキストは複数行にまたがることができます。さらに、たとえばショートカット キーを示すために、このテキスト内の文字に下線を付けることができます。デフォルトでは、Tab キーを押すとフォーカスがボタン ウィジェットに移動します。
1. では、ボタン コンポーネントをいつ使用する必要があるでしょうか?
つまり、ボタン コンポーネントは、ユーザーに「今すぐこのタスクを実行してください」と言わせるために使用されます。通常、ボタンに表示されるテキストまたは画像を使用してプロンプトを表示します。ボタンは通常、ツールバーまたはアプリケーション ウィンドウで使用され、ダイアログ ボックスに入力されたデータを受け入れるか無視するために使用されます。
ボタンと入力データの連携については、Checkbutton コンポーネントと Radiobutton コンポーネントを参照してください。
2. スタイル
通常のボタンは簡単に作成できます。ボタンの内容 (テキスト、ビットマップ、イメージ) とボタンが押されたときのコールバック関数を指定するだけです。
b = Button(master, text) ="OK", command=self.ok)
コールバック関数のないボタンは役に立ちません。ボタンを押しても何も起こりません。たとえば、ベータ テスターの邪魔にならないように、アプリケーションを開発するときにこの種のボタンを実装するとよいでしょう。
b = Button(master, text="Help", state=DISABLED)
if You don'tサイズを指定しない場合、ボタンはコンテンツを保持するのにちょうどいいサイズになります。 Padx および Pady オプションを使用して、コンテンツとボタンの境界線の間の間隔を広げることができます。高さと幅のオプションを使用して、ボタンのサイズを明示的に設定することもできます。ボタンにテキストを表示している場合、これらのオプションはテキストの単位でボタンのサイズを定義します。代わりに画像を表示する場合、ボタンの寸法はピクセル (または他の画面単位) 単位になります。実際には、テキスト ボタンのサイズをピクセル単位で定義することもできますが、予期しない結果が生じる可能性があります。サイズを指定するコード例を次に示します。
f = Frame(master, height=32, width=32)
f.pack_propagate(0) # don't strict
b = Button(f , text ="Sure!")
b.pack(fill=BOTH, Expand=1)
ボタンには複数行のテキストを表示できます (ただし、使用できるフォントは 1 つだけです)。 multiline または Wraplength オプションを使用して、ボタンのテキストのサイズを変更できます。テキストを調整するときは、アンカー、両端揃えを使用するか、padx オプションを追加して希望の形式を取得します。例は次のとおりです。
b = Button(master, text=longtext, anchor=W, justify=LEFT, Padx=2)
たとえば、通常のボタンを凹型に見せるには、次のようにします。一部のタイプのツールボックスでは、レリーフの値を「RAISED」から「SUNKEN」に変更するだけです。
b.config(relief=SUNKEN)
また、背景を変更することもできます。 注: おそらく詳細 良い解決策は、indicatoron オプションの値を false に設定して Checkbutton または Radiobutton を使用することです。
b = Checkbutton(master, image=bold, variable=var, iconedon=0)
3. メソッド
ボタン ウィジェットは、標準の Tkinter ウィジェット インターフェイスに加えて、次のメソッドをサポートします:
flash(): ボタンを頻繁に再描画して、アクティブ スタイルと通常のスタイルを切り替えます。
invoke(): ボタン コマンドに関連付けられた呼び出し
次のメソッドは、独自のボタン バインディングの実装に関連しています:
tkButtonDown()、tkButtonEnter()、tkButtonInvoke()、tkButtonLeave()、tkButtonUp()
これらのメソッドは、イベント バインディングのカスタマイズで使用できます。
4. オプション
ボタン ウィジェットは次のオプションをサポートします:
activebackground, activeforeground
タイプ: color;
説明: ときに使用される色。ボタンがアクティブになります。
アンカー
タイプ: 定数;
説明: ボタン上のコンテンツの位置を制御します。N、NE、E、SE、S、SW、W、NW、または CENTER を使用します。次の値のいずれか。デフォルト値は CENTER です。
背景 (bg)、前景 (fg)
タイプ: カラー;
説明: ボタンの色。デフォルト値はプラットフォーム固有です。
bitmap
タイプ: ビットマップ;
説明: ウィジェットに表示されるビットマップ。image オプションが指定されている場合、このオプションは無視されます。次のビットマップはすべてのプラットフォームで有効です: error 、gray75、gray50、gray25 、gray12、砂時計、情報、クエストヘッド、質問、警告。
追加されたビットマップは Macintosh でのみ有効です: ドキュメント、ステーショナリー、エディション、アプリケーション、アクセサリ、フォルダー、pfolder、ゴミ箱、フロッピー、RAM ディスク、CDROM、基本設定、querydoc、stop、note、および 注意。
ビットマップも使用できます。 XBM ファイルからロードされます。 「@sample.xbm」のように、XBM ファイル名の前にプレフィックス @ を追加するだけです。
borderwidth (bd)
型: 整数;
説明: ボタンの境界線の幅。デフォルト値はプラットフォーム固有です。ただし、通常は 1 または 2 ピクセルです。
コマンド
タイプ: callback;
説明: ボタンが押されたときに呼び出される関数またはメソッド。コールバックには、関数、メソッド、またはその他の呼び出し可能な Python オブジェクトを使用できます。
カーソル
タイプ: カーソル;
説明: マウスがボタンに移動したときに表示されるカーソル。
default
タイプ: 定数;
説明: 設定されている場合、ボタンはデフォルトのボタンです。この構文は Tk 8.0b2 で変更されていることに注意してください。
disabledforeground
タイプ: カラー;
説明: ボタンが無効になっているときの色。
font
タイプ: font;
説明: ボタンで使用されるフォント。ボタンには 1 つのフォントのテキストのみを含めることができます。
Highlightbackground、highlightcolor
タイプ: Color;
説明: フォーカスがあるハイライト境界線の色を制御します。ウィジェットがフォーカスを取得すると、境界線は、highlightcolor で指定された色になります。それ以外の場合、境界線は、highlightbackground で指定された色になります。デフォルト値はシステムによって決定されます。
Highlightthickness
タイプ: 距離;
説明: フォーカスがあるハイライト境界線の幅を制御します。デフォルト値は通常 1 または 2 ピクセルです。
image
タイプ: 画像;
説明: コンポーネントに表示される画像。指定した場合、テキストおよびビットマップのオプションは無視されます。
justify
タイプ: 定数;
説明: 複数行のテキストを整列させる方法を定義します。可能な値は、LEFT、RIGHT、または CENTER です。
Padx, Pady
タイプ: distance;
説明: テキストまたは画像とボタンの境界線の間の距離を指定します。
レリーフ
タイプ: 定数;
説明: 境界線の装飾。通常、ボタンは押されると凹み、そうでない場合は浮き上がります。他の可能な値は、GROOVE、RIDGE、および FLAT です。
state
タイプ: 定数;
説明: ボタンの状態: NORMAL、ACTIVE、または DISABLED。デフォルト値は NORMAL です。
takefocus
タイプ: フラグ;
説明: ユーザーが Tab キーを使用してこのボタンにフォーカスを移動できることを示します。デフォルト値は空の文字列です。これは、ボタンにキー バインドがある場合、バインドされたキーを通じてフォーカスを取得できることを意味します。
text
タイプ: 文字列;
説明: ボタンに表示されるテキスト。テキストは複数行にすることもできます。ビットマップまたはイメージ オプションが使用されている場合、テキスト オプションは無視されます。
textvariable
タイプ: 変数;
説明: ボタンに関連する Tk 変数 (通常は文字列変数)。この変数の値が変更されると、それに応じてボタン上のテキストが更新されます。
下線
タイプ: 整数;
説明: テキスト ラベル内で下線が付けられている文字。デフォルト値は -1 で、どの文字にも下線が引かれないことを意味します。
幅、高さ
タイプ: 距離;
説明: ボタンのサイズ。ボタンにテキストが表示される場合、寸法にはテキストの単位が使用されます。ボタンに画像が表示される場合、サイズはピクセル (または画面単位) 単位です。サイズを指定しない場合は、ボタンの内容に基づいて計算されます。
Wraplength
タイプ: distance;
説明: ボタンのテキストを複数行に調整するタイミングを決定します。画面単位で測定されます。デフォルトでは調整されていません。
Mixins
Tkinter モジュールは、Tk のさまざまなウィジェット タイプに対応するクラスと、一定数のミックスインおよびその他のヘルパー クラスを提供します (ミックスインは、ポリモーフィック継承を組み合わせて使用​​して他のクラスと対話するように設計されたクラスです)。 Tkinter を使用する場合、mixin クラスに直接アクセスすることはできません。
1. ミックスインの実装
ルート ウィンドウとウィジェット クラスを通じて、Misc クラスがミックスインとして使用されます。すべての Tkinter コア ウィジェット ユーザーが利用できる、多数の Tk およびウィンドウ関連サービスを提供します。これはデリゲートを通じて行われ、ウィジェットは適切な内部オブジェクトを直接要求するだけです。
Wm クラスは、ルート ウィンドウおよびトップレベルのウィジェット クラスを介してミックスインとして使用されます。委任を通じてウィンドウ管理サービスを提供します。
デリゲートを使用して、次のようにアプリケーション コードを簡素化します。 ウィジェットを作成したら、このウィジェット インスタンスのメソッドを使用して Tkinter のすべての部分にアクセスできます。
2. ジオメトリとミックスイン
Grid、Pack、および Place クラスは、ウィジェット クラスを通じてミックスインとして使用されます。また、委任を通じてさまざまなジオメトリ管理にアクセスするためのサポートも提供します。
以下は、ジオメトリ ミックスインのリストと説明です。
マネージャーと説明:
グリッド: グリッド ジオメトリ マネージャーを使用すると、ウィジェットを 2 次元グリッドに整理してテーブルのようなレイアウトを作成できます。
パック: パック ジオメトリ マネージャーは、フレーム内の親ウィジェットにウィジェットをパックすることによってレイアウトを作成します。このジオメトリ マネージャーをウィジェットで使用するには、ウィジェット上で Pack メソッドを使用してウィジェットを統合します。
場所: 場所ジオメトリ マネージャーを使用すると、特定の場所にウィジェットを明示的に配置できます。このジオメトリ マネージャーを使用するには、place メソッドを使用します。
3. ウィジェット構成管理
Widget クラスは、ジオメトリ ミックスインを使用して Misc クラスを混合し、cget および configure メソッド、またはローカル辞書インターフェイスを通じて構成管理を追加します。
ウィジェットの構成
ウィジェットの外観を構成するには、メソッド呼び出しではなくオプションを使用することをお勧めします。一般的なオプションには、テキスト、色、サイズ、コマンドなどが含まれます。オプションを処理するために、すべてのコア ウィジェットは同じ構成インターフェイスを実装します:
構成インターフェイス
widgetclass(master, option=value, ...) => ウィジェット
説明:
このウィンドウを作成します インスタンス指定されたマスターの子であり、指定されたオプションを使用するウィジェットの。すべてのオプションにはデフォルト値があるため、単純な場合はマスターを指定するだけで済みます。必要に応じてマスターを指定することはできません。Tkinter は、最後に作成されたルート ウィンドウをマスターとして使用します。この名前オプションは、ウィジェットの作成時にのみ設定できることに注意してください。
cget(option) => string
説明:
オプションの現在の値を返します。オプション名と戻り値は両方とも文字列です。 name オプションを取得するには、代わりに str(widget) を使用します。
configure(option=value, ...), config(option=value, ...)
説明:
1 つ以上のオプション (キーワード引数として指定) を設定します。
一部のオプションの名前は、Python の予約語 (class、from など) と同じであることに注意してください。これらをキーワード引数として使用するには、オプション名の後にアンダースコア (class_、from_) を追加するだけです。このメソッドを使用して名前オプションを設定することはできないことに注意してください。名前オプションはウィジェットの作成時にのみ設定できます。
便宜上、ウィジェットには部分的な辞書インターフェイスも実装されています。 __setitem__ メソッドは configure をマップし、__getitem__ メソッドは cget をマップします。次の構文を使用してオプションを設定およびクエリできます。
value = widget[option]
widget[option] = value
各割り当ての結果として Tk が呼び出されることに注意してください。複数のオプションを変更したい場合は、(config または configure) を個別に呼び出して変更することをお勧めします。
次の辞書メソッドはウィジェットにも適用されます:
key() => list
説明:
ウィジェットで設定できるすべてのオプションのリストを返します。 name オプションはこのリストには含まれていません (辞書インターフェイスを介してクエリまたは変更することはできません)。
下位互換性
キーワード パラメーターは Python 1.3 で導入されました。以前は、ウィンドウ コンストラクターにオプションを渡し、メソッドを構成するために、生の Python 辞書が使用されていました。元のコードは次のようなものです。
self.button = Button(frame, {"text": "QUIT", "fg": "red", "command": Frame.quit})
self .button.pack ({"サイド": 左})
キーワード引数の構文はより洗練されており、エラーが発生しにくくなっています。ただし、既存のコードとの互換性を確保するために、Tkinter は引き続き古い構文をサポートします。場合によっては古い構文が魅力的であっても、新しいプログラムでは古い構文を使用しないでください。たとえば、親クラスに沿って構成オプションを渡す必要があるカスタム ウィジェットを作成する場合、コードは次のようになります。
def __init__(self, master, **kw):
Canvas.__init__ (self 、master、kw) # kw は辞書です
上記のコードは、Tkinter の現在のバージョンではうまく動作しますが、将来のバージョンでは動作しなくなる可能性があります。一般的な方法は、適用関数を使用することです。
def __init__(self, master, **kw):
apply(Canvas.__init__, (self, master), kw)
この適用関数は、関数 (制約のないメソッド)、引数を含むタプル (制約のないメソッドを呼び出すため、self を含める必要があります)、およびキーワード引数を提供するオプションの辞書です。
ウィジェットのスタイルカラー
すべての Tkinter 標準ウィジェットには、色、フォント、その他の外観などのウィジェットの外観を変更できる一連のスタイル オプションが用意されています。
カラー
ほとんどのウィジェットでは、背景オプションと前景オプションを使用してウィジェットとテキストの色を指定できます。色を指定するには、色の名前、または赤、緑、青の色の組み合わせを使用できます。
1. カラー名
Tkinter には、カラー名を対応する RGB 値にマッピングするカラー データベースが含まれています。このデータベースには、赤、緑、青、黄、ライトブルーなどの一般的な名前だけでなく、モカシン、ピーチパフなどの珍しい名前も含まれています。 X ウィンドウ システムでは、色の名前は X サーバーによって定義されます。 xrgb.txt というファイルが見つかります。このファイルには、色の名前と対応する RGB 値のリストが含まれています。 Windows および Macintosh システムでは、カラー テーブルが Tk に組み込まれています。
Windows では、Windows システム カラーを使用できます (ユーザーはコントロール パネルからこれらの色を変更できます):
SystemActiveBorder、SystemActiveCaption、SystemAppWorkspace、SystemBackground、
SystemButtonFace、SystemButtonHighlight、SystemButtonShadow、SystemButtonText、
SystemCaptionText 、SystemDisabledText、SystemHighlight、SystemHighlightText、
SystemInactiveBorder、SystemInactiveCaption、SystemInactiveCaptionText、SystemMenu、
SystemMenuText、SystemScrollbar、SystemWindow、SystemWindowFrame、SystemWindowText。
Macintosh では、次のシステム カラーが有効です:
SystemButtonFace、SystemButtonFrame、SystemButtonText、SystemHighlight、SystemHighlightText、SystemMenu、SystemMenuActive、SystemMenuActiveText、SystemMenuDisabled、SystemMenuText、SystemWindowBody。
色の名前では大文字と小文字が区別されません。多くの色の名詞や単語は、大文字と小文字の間の区別の有無にかかわらず有効です。たとえば、「ライトブルー」、「ライトブルー」、
「ライトブルー」はすべて同じ色です。
2. RGB 形式
色の名前を明示的に指定する必要がある場合は、次の形式の文字列を使用できます。
#RRGGBB
RR、GG、BB は、赤、緑、青です。値はそれぞれ 16 進表現です。次の例は、カラー 3 成分を Tk カラー形式に変換する方法を示しています。
tk_rgb = "# x x x" % (128, 192, 200)
Tk は、「#RGB」や「rrrrggggbbbb」などの使用形式もサポートしています" を使用して、それぞれ 16 度から 65536 度までの値を指定します。
ウィジェットの winfo_rgb メソッドを使用して、色 (名前または RGB 形式) を表す文字列を 3 つ組に変換できます。
rgb = widget.winfo_rgb("red")
red、green、blue = rgb [0]/256、rgb[1]/256、rgb[2]/256
winfo_rgb は 0 ~ 65535 の範囲の 16 ビット RGB 値を返すことに注意してください。より一般的な範囲の 0 ~ 255 にマップするには、各値を 256 で割る (または 8 ビット右にシフトする) 必要があります。

以上がこれはおそらく tkinter コントロール プロパティの最も完全なコレクションですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。