Python tkinter -- 第 18 章 Canvas コントロールのプロパティ

第 18 章 キャンバス コントロール

キャンバス コントロールは、名前が示すように、他のコントロールを描画または追加するための空のキャンバスを作成します。
キャンバス コントロールは、次のグラフィックスをサポートします。
Arc (円弧、弦、扇形を含む円弧)
ビットマップ (ビットマップ)
イメージ (イメージ)
直線 (ライン) (直線、矢印の描画)
円シリーズ (楕円形) (円または楕円の描画)
 ポリゴン (多角形) (多角形の描画)
 長方形 (長方形) (長方形の描画)
 テキスト (テキスト) (テキストの描画)
 ウィンドウ (ウィンドウ) (描画ウィンドウ)

18.1 プロパティ

属性 説明
背景の
背景
キャンバス コントロールの背景色
境界幅
bd
キャンバス コントロールの境界線の幅。デフォルトは 1 ~ 2 ピクセルです。
十分近い 値を指定します。マウスとキャンバス オブジェクト間の距離がこの値より小さい場合、マウスはキャンバス オブジェクト上にあると見なされます。このオプションは浮動小数点値であり、デフォルト値は 1.0 です。
閉じ込める Canvas コンポーネントが、scrollregion オプションで指定された範囲を超えたスクロールを許可するかどうかを指定します。これが True の場合、スクロールは許可されません。デフォルト値は True です
身長 キャンバス コントロールの高さ
ハイライト背景 入力フォーカスがない場合のハイライト境界線の背景色
ハイライトカラー 入力フォーカスを取得するときに強調表示される境界線の背景色
ハイライトの太さ ハイライト表示された境界線の幅
安心 キャンバス コントロールの 3D 効果。
デフォルト値は FLAT、その他のオプション値は SUNKEN、RAISED、GROOVE、RIDGE です。
スクロール領域 タプル (x1,y1,x2,y2) で定義される 4 倍子。4 倍は、キャンバスの幅 w と高さ h、およびキャンバス上のすべてのコントロールの最小 x 座標と最大 y 座標とともに計算されます。具体的な計算式は次のとおりです。
XL=x1-x
YT=y1-y
XR=w-x2+x
YB=h-y2+y
ウィンドウ内の Canvas の左上隅の座標が (0,0) でない場合、 Canvas の左上隅の座標を追加する必要があります。
背景を選択 キャンバス内の要素が選択されると、対応する背景色が表示されます。
選択境界幅 キャンバス内の要素が選択されているときの境界線の幅
フォアグラウンドを選択 キャンバス内の要素が選択されると、対応する前景色が
キャンバスの状態を NORMAL または DISABLED に設定します。デフォルト値は NORMAL です。
テイクフォーカス Tab キーによって入力フォーカスを取得できるかどうかを定義します
キャンバス コントロールの幅を定義します
xscrollincrement このオプションは、キャンバスの水平スクロールの「ステップ サイズ」を指定します。たとえば、「3c」は 3 センチメートルを意味し、選択できる単位は「i」(インチ)、「m」(ミリメートル)、「p」です。 ' (DPI、約 '1i ' は '72p' に等しい)。
デフォルト値は 0 です。これは、任意の位置まで水平方向にスクロールできることを意味します。
xscrollコマンド 水平スクロールを制御するコールバック関数を設定する
yscrollincrement xscrollincrement パラメータと似ていますが、垂直スクロールの粒度を制御します。
yscrollコマンド 垂直スクロールを制御するコールバック関数を設定する
18.1.1 背景(bg)
キャンバス コントロールの背景色を定義します。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root,bg='blue')
b1.pack()
root.mainloop()

結果:
ここに画像の説明を挿入
18.1.2 borderwidth(bd) は、
キャンバス コントロールの境界線の幅を定義します。効果を発揮するにはリリーフオプションと併用する必要があります。

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root,bg='blue',
             bd=10,relief='groove')
b1.pack()
root.mainloop()

結果:
ここに画像の説明を挿入
18.1.3 closeenough は、
キャンバス コントロール内の要素内または要素上でマウスがどれだけ近づいているかを定義します。は浮動小数点数です。デフォルト値は 1.0 です。
18.1.4 confine は、
canvas コンポーネントが、scrollregion オプションで指定された範囲を超えたスクロールを許可するかどうかを指定します。
18.1.5 カーソルは、
キャンバス コントロール内のマウスの形状を設定します。
18.1.6 高さ
キャンバスコントロールの高さを設定します。デフォルトの単位はピクセルです。

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root,bg='blue',
             width=200,height=200,
             bd=10,relief='groove')
b1.pack()
root.mainloop()

結果:
ここに画像の説明を挿入
18.1.7 highlightbackground、highlightcolor、highlightthickness は、
入力フォーカスがある場合とない場合の境界線の背景色を設定します。takefocus=True を設定する必要があります。デフォルトでは、キャンバス コントロールは Tab 経由で入力フォーカスを取得できないためです。

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root,bg='green',
             width=200,height=200,
             highlightbackground='blue',
             highlightcolor='red',
             highlightthickness=10,
             takefocus=1)
b1.pack()
root.mainloop()

結果:
ここに画像の説明を挿入
ここに画像の説明を挿入
18.1.8
レリーフ キャンバス コントロールの 3D 効果については、セクション 3.3.5 を参照してください。
18.1.9 スクロール領域
タプル (x1,y1,x2,y2) によって定義される 4 つ組。4 倍は、キャンバスの幅 w と高さ h、およびキャンバス上のすべてのコントロールの最小 x 座標と最大 y 座標とともに計算されます。具体的な計算式は次のとおりです。
XL=x1-x
YT=y1-y
XR=w-x2+x
YB=h-y2+y
ウィンドウ内の Canvas の左上隅の座標が (0,0) でない場合、 Canvas を追加する必要があります
。18.1.10 takefocusの左上隅の座標は、
キャンバス コントロールが Tab キーを通じて入力フォーカスを取得できるかどうかを定義します。
18.1.11 width は、
キャンバス コントロールの幅 (x 方向) を定義します。デフォルトの単位はピクセルです。
18.1.12 xscrollincrement は、
キャンバス コントロールの水平スクロールの粒度を定義します。0 の場合は、任意の位置までスクロールできることを意味します。正の数の場合は、その値の整数倍の位置までのみスクロールできます。
18.1.13 水平スクロールを制御する xscrollcommand のコールバック関数
通常、コントロールの .set() メソッドに設定されます。水平スクロールバーについては、これまでの他の章を参照してください。
18.1.14 yscrollincrement は、
キャンバス コントロールの垂直スクロールの粒度を定義します。「xscrollincrement」を参照してください。
18.1.15 yscrollコマンド
垂直スクロールを制御するコールバック関数。通常、コントロールの .set() メソッドに設定されます。垂直スクロール バーについては、これまでの他の章を参照してください。

おすすめ

転載: blog.csdn.net/weixin_42272768/article/details/100811586