画布(Canvas
)是用于绘制图片或其他复杂布局的矩形区域。您可以在上面放置图形、文本、控件或框架(Frame)。有关在 Canvas
上创建对象的方法,请参见以下部分:
- .create_arc():一个椭圆的切片。
- .create_bitmap():一个位图(
bitmap
)图像。 - .create_image():一个图形图像。
- .create_line():一个或多个线段。
- .create_oval():一个椭圆; 也可以使用它来绘制圆形,这是椭圆的特殊情况。
- .create_polygon():一个多边形。
- .create_rectangle():一个矩形。
- .create_text():文本。
- .create_window():一个矩形的窗口。
创建一个 Canvas
对象:
w = tk.Canvas(parent, option=value, ...)
构造函数返回一个新的 Canvas
控件,可选参数(option
)包括:
参数 | 描述 |
bd 或者 borderwidth | 画布外侧边框的宽度 |
bg 或者 background | 画布背景色,默认颜色是浅灰色: |
closeenough | 一个浮点数,用于指定鼠标与要在其中考虑的项目之间的距离 |
confine | 如果为true(默认值),则画布无法在scrollregion之外滚动 |
cursor | 画布上使用的光标 |
height | 画布高度 |
highlightbackground | 当控件没有对焦时,焦点的颜色会突出显示 |
highlightcolor | 焦点高亮显示的颜色 |
highlightthickness | 焦点高光的厚度 |
relief | 画布浮雕样式,默认是:tk.FLAT |
scrollregion | 一个元组 (w, n, e, s) 定义画布可以滚动的区域有多大,其中 w 是左侧,n 是顶部,e 是右侧,s 是底部。 |
selectbackground | 用于显示所选项目的背景颜色 |
selectborderwidth | 所选项目周围使用的边框宽度 |
selectforeground | 所选项目展示使用的前景色 |
takefocus | 通常,焦点仅在设置了键盘绑定时才会使用 Tab 键循环浏览此小部件(有关键盘绑定的概述,请参阅第 54 节“事件”)。 如果将此选项设置为 1,则焦点将始终访问此小部件。 将其设置为 '' 以获取默认行为。 |
width | 画布 X 方向的大小(宽度) |
xscrollincrement | 通常,画布可以水平滚动到任何位置。 您可以通过将 xscrollincrement 设置为零来获得此行为。 如果将此选项设置为某个正尺寸,则画布只能定位在该距离的倍数上,并且该值将用于按滚动单位滚动,例如当用户单击滚动条末端的箭头时。 |
xscrollcommand | 如果画布是可滚动的,请将此选项设置为水平滚动条的 .set() 方法。 |
yscrollincrement | 像 xscrollincrement 一样工作,但控制垂直移动。 |
yscrollcommand | 如果画布是可滚动的,这个选项应该是垂直滚动条的 .set() 方法。 |