Tkinter 画布



画布是一个用于绘制图片或其他复杂布局的矩形区域。您可以在画布上放置图形、文本、部件或框架。

语法

以下是创建此部件的简单语法:

w = Canvas ( master, option=value, ... )

参数

  • master − 表示父窗口。

  • options − 以下是此部件最常用的选项列表。这些选项可以用逗号分隔的键值对的形式使用。

序号 选项及描述
1

Bd

边框宽度(像素)。默认为 2。

2

Bg

普通背景颜色。

3

Confine

如果为真(默认值),则画布无法滚动到滚动区域之外。

4

Cursor

在画布中使用的光标,例如箭头、圆形、点等。

5

Height

焦点高亮显示中显示的颜色。

6

Relief

Relief 指定边框的类型。一些值包括 SUNKEN、RAISED、GROOVE 和 RIDGE。

7

Scrollregion

一个元组 (w, n, e, s),定义了画布可以滚动的区域的大小,其中 w 是左侧,n 是顶部,e 是右侧,s 是底部。

8

Width

画布在 X 方向上的大小。

9

Xscrollincrement

如果将此选项设置为某个正尺寸,则画布只能定位在该距离的倍数上,并且该值将用于按滚动单位进行滚动,例如当用户点击滚动条末端的箭头时。

10

Xscrollcommand

如果画布可滚动,则此属性应为水平滚动条的 .set() 方法。

11

Yscrollincrement

与 xscrollincrement 类似,但控制垂直移动。

12

Yscrollcommand

如果画布可滚动,则此属性应为垂直滚动条的 .set() 方法。

Canvas 部件可以支持以下标准项目:

  • arc − 创建一个弧形项目,可以是弦、扇形或简单的弧形。

coord = 10, 50, 240, 210

arc = canvas.create_arc(coord, start=0, extent=150, fill="blue")
  • image − 创建一个图像项目,可以是 BitmapImage 或 PhotoImage 类的实例。

filename = PhotoImage(file = "sunshine.gif")

image = canvas.create_image(50, 50, anchor=NE, image=filename)
  • line − 创建一个线段项目。

line = canvas.create_line(x0, y0, x1, y1, ..., xn, yn, options)
  • oval − 在给定的坐标处创建一个圆形或椭圆形。它需要两对坐标;椭圆形边界矩形的左上角和右下角。

oval = canvas.create_oval(x0, y0, x1, y1, options)
  • polygon − 创建一个多边形项目,至少需要三个顶点。

oval = canvas.create_polygon(x0, y0, x1, y1,...xn, yn, options)

示例

自己尝试以下示例 -

from tkinter import *
from tkinter import messagebox
top = Tk()
C = Canvas(top, bg="blue", height=250, width=300)
coord = 10, 50, 240, 210
arc = C.create_arc(coord, start=0, extent=150, fill="red")
line = C.create_line(10,10,200,200,fill='white')
C.pack()
top.mainloop()

执行上述代码后,将产生以下结果 -

tkinter canvas
python_gui_programming.htm
广告