画布(Canvas)控件

画布(​​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

画布背景色,默认颜色是浅灰色:​​#E4E4E4​

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() 方法。