Tcl-tk-tk-widgets-overview
Tk-ウィジェットの概要
Tkベースのアプリケーションの基本コンポーネントは、ウィジェットと呼ばれます。 Tkでは、「ウィンドウ」と「ウィジェット」はしばしば同じ意味で使用されるため、コンポーネントはウィンドウとも呼ばれます。 Tkは、Tclでグラフィカルアプリケーションを作成するための豊富なグラフィカルコンポーネントセットを提供するパッケージです。
Tkは、ボタンやメニューなどの基本的なGUIウィジェットからデータ表示ウィジェットまで、さまざまなウィジェットを提供します。 ウィジェットは、デフォルトの構成になっているため、使いやすくなっています。
Tkアプリケーションは、任意の数のウィジェットが別のウィジェット内に配置され、それらのウィジェットが別のウィジェット内に配置されるウィジェット階層に従います。 Tkプログラムのメインウィジェットはルートウィジェットと呼ばれ、TkRootクラスの新しいインスタンスを作成することで作成できます。
ウィジェットを作成する
ウィジェットを作成するための構文は次のとおりです。
type variableName arguments options
ここでのタイプは、ボタン、ラベルなどのウィジェットタイプを指します。 引数はオプションであり、各ウィジェットの個々の構文に基づいて必要になります。 オプションの範囲は、各コンポーネントのサイズから書式設定までです。
ウィジェットの命名規則
ウィジェットは、パッケージの命名に似た構造を使用します。 Tkでは、ルートウィンドウにはピリオド(。)が付けられ、ウィンドウ内の要素(たとえば、ボタンには.myButton1という名前)が付けられます。 変数名は、小文字、数字、または句読点(ピリオドを除く)で始まる必要があります。 最初の文字の後に、他の文字は大文字または小文字、数字、または句読点(ピリオドを除く)にすることができます。 小文字を使用してラベルを開始することをお勧めします。
色の命名規則
色は、赤、緑などの名前を使用して宣言できます。 #で表される16進数も使用できます。 16進数の桁数は、3、6、9、または12です。
寸法表記
デフォルトの単位はピクセルであり、寸法を指定しない場合に使用されます。 他の寸法は、インチの場合はi、ミリメートルの場合はm、センチメートルの場合はc、ポイントの場合はpです。
共通オプション
すべてのウィジェットで利用可能な非常に多くの一般的なオプションがあり、それらは以下の表にリストされています-
Sr.No. | Syntax & Description |
---|---|
1 |
-background color ウィジェットの背景色を設定するために使用されます。 |
2 |
-borderwidth width 3D効果でボーダー付きで描画するために使用されます。 |
3 |
-font fontDescriptor ウィジェットのフォントを設定するために使用されます。 |
4 |
-foreground color ウィジェットの前景色を設定するために使用されます。 |
5 |
-height number ウィジェットの高さを設定するために使用されます。 |
6 |
-highlightbackground color ウィジェットに入力フォーカスがない場合に、ウィジェットの周囲に色の長方形を描画するために使用されます。 |
7 |
-highlightcolor color ウィジェットに入力フォーカスがあるときに、ウィジェットの周囲に色の長方形を描画するために使用されます。 |
8 |
-padx number ウィジェットのpadxを設定します。 |
9 |
-pady number ウィジェットの水田を設定します。 |
10 |
-relief condition このウィジェットの3Dレリーフを設定します。 状態は、隆起、沈没、平坦、隆起、中実、または溝のいずれかです。 |
11 |
-text text ウィジェットのテキストを設定します。 |
12 |
-textvariable varName ウィジェットに関連付けられた変数。 ウィジェットのテキストが変更されると、変数はウィジェットのテキストで設定されます。 |
13 |
-width number ウィジェットの幅を設定します。 |
オプションの簡単な例を以下に示します。
#!/usr/bin/wish
grid [label .myLabel -background red -text "Hello World" -relief ridge -borderwidth 3]
-padx 100 -pady 100
上記のプログラムを実行すると、次の出力が得られます。
利用可能なウィジェットのリストは以下に分類されます-
基本的なウィジェット
Sr.No. | Widget & Description |
---|---|
1 |
Label 1行のテキストを表示するためのウィジェット。 |
2 |
Button クリック可能なウィジェットで、アクションをトリガーします。 |
3 |
Entry 入力として1行のテキストを受け入れるために使用されるウィジェット。 |
4 |
Message 複数行のテキストを表示するためのウィジェット。 |
5 |
Text 複数行のテキストを表示し、オプションで編集するためのウィジェット。 |
6 |
Toplevel ウィンドウマネージャによって提供されるすべての境界線と装飾を備えたウィンドウ。 |
レイアウトウィジェット
Sr.No. | Widget & Description |
---|---|
1 |
Frame 他のウィジェットを保持するコンテナウィジェット。 |
2 |
Place 原点の座標と正確なサイズで特定の場所に他のウィジェットを保持するウィジェット。 |
3 |
Pack ウィジェットを親ウィジェットに配置する前にブロックで整理するシンプルなウィジェット。 |
4 |
Grid 異なる方向にパッキングするウィジェットをネストするウィジェット。 |
選択ウィジェット
Sr.No. | Widget & Description |
---|---|
1 |
Radiobutton オン/オフボタンとラベルのセットがあり、そのうちの1つを選択できるウィジェット。 |
2 |
Checkbutton オン/オフボタンとラベルのセットがあり、その多くを選択できるウィジェット。 |
3 |
Menu メニュー項目のホルダーとして機能するウィジェット。 |
4 |
Listbox 1つ以上のセルを選択できるセルのリストを表示するウィジェット。 |
メガウィジェット
Sr.No. | Widget & Description |
---|---|
1 |
Dialog ダイアログボックスを表示するためのウィジェット。 |
2 |
Spinbox ユーザーが数字を選択できるウィジェット。 |
3 |
Combobox エントリと、使用可能な選択肢のリストを組み合わせたウィジェット。 |
4 |
Notebook インデックスタブを使用して、複数のページの1つを切り替えるのに役立つタブ付きウィジェット。 |
5 |
Progressbar ファイルのアップロードなどの長い操作の進行状況を視覚的にフィードバックするウィジェット。 |
6 |
Treeview ツリーの形式でアイテムの階層を表示し、閲覧できるウィジェット。 |
7 |
Scrollbar テキストまたはキャンバスウィジェットなしのスクロールウィジェット。 |
8 |
Scale スライダーを使用して数値を選択するウィジェットを拡大縮小します。 |
その他のウィジェット
Sr.No. | Widget & Description |
---|---|
1 |
Canvas グラフィックスと画像を表示するための描画ウィジェット。 |
これらの各ウィジェットについては、今後の章で説明します。