Tkinter 画布
画布是一个矩形区域,用于绘制图片或其他复杂的布局。您可以在画布上放置图形、文本、小部件或框架。
语法
以下是创建此小部件的简单语法 –
w = Canvas ( master, option=value, ... )
参数
- master − 这代表父窗口。
-
options − 这是该部件的最常用选项列表。 这些选项可以用逗号分隔的键值对形式使用。
序号 | 选项和描述 |
---|---|
1 | Bd 边框宽度(以像素为单位)。默认值为2。 |
2 | Bg 普通背景颜色。 |
3 | Confine 如果为true(默认值),画布无法滚动到滚动区域之外。 |
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()
执行上述代码时,会产生以下结果 –