Tk Canvas Widget - Tk教程

Canvas 用于提供画图区。Canvas 组件的语法如下所示。

canvas canvasName options

选项

可用于canvas widget的选项列于下表中。

SN 语法 描述
1 -background color 用于设置小部件背景色。
2 -closeenough distance 设置鼠标光标移动到一个可显示项目接近程度。默认值是1.0像素。该值可以是一个分数,并必须为正。
3 -scrollregion boundingBox 所述边界框为这个画布canvas的总面积。
4 -height number 用于设置部件widget的高度。
5 -width number 设置widget的宽度。
6 -xscrollincrement size 用于滚动请求水平滚动的数量值。
7 -yscrollincrement size 垂直滚动时,滚动请求数量值。

一个简单的例子canvas widget如下所示。

#!/usr/bin/wish

canvas .myCanvas -background red -width 100 -height 100 
pack .myCanvas

当我们运行上面的程序,会得到下面的输出。

Canvas Widget Example

Widget小工具在canvas上绘图

可用小部件在画布canvas上绘制列表如下。

SN Widget 描述
1 Line 绘制一条线。
2 Arc 绘制弧形。
3 Rectangle 绘制一个矩形。
4 Oval 绘制一个椭圆。
5 Polygon 绘制多边形。
6 Text 绘制文本。
7 Bitmap 绘制一个位图。
8 Image 绘制图像。

使用不同的canvas widgets 的一个例子如下所示。

#!/usr/bin/wish

canvas .myCanvas -background red -width 200 -height 200 
pack .myCanvas
.myCanvas create arc 10 10 50 50 -fill yellow
.myCanvas create line 10 30 50 50 100 10 -arrow both -fill yellow -smooth true -splinesteps 2
.myCanvas create oval 50 50 100 80 -fill yellow
.myCanvas create polygon 50 150 100 80 120 120 100 190 -fill yellow -outline green
.myCanvas create rectangle 150 150 170 170  -fill yellow
.myCanvas create text 170 20 -fill yellow -text "Hello" -font {Helvetica -18 bold}
.myCanvas create bitmap 180 50 -bitmap info

当我们运行上面的程序,会得到下面的输出。

Canvas Widget Example2