Python 3 – Tkinter 画布
画布是一个矩形区域,用于绘制图片或其他复杂的布局。您可以在画布上放置图形、文本、窗口部件或框架。
语法
下面是创建此小部件的简单语法 −
w = Canvas ( 主窗口, 选项 = 值, ... )
参数
- 主窗口 − 表示父窗口。
-
选项 − 这里是该小部件的最常用选项列表。这些选项可以作为由逗号分隔的键值对使用。
序号 | 选项和描述 |
---|---|
1 | bd 边框宽度(以像素为单位)。默认值为2。 |
2 | bg 普通的背景颜色。 |
3 | confine 如果为true(默认值),则画布不能滚动到滚动区域之外。 |
4 | cursor 在画布中使用的光标,如箭头、圆圈、点等。 |
5 | height 画布在Y维度上的大小。 |
6 | highlightcolor 在焦点突出显示中显示的颜色。 |
7 | relief 表示边框的类型。一些值为SUNKEN、RAISED、GROOVE和RIDGE。 |
8 | scrollregion 定义画布可以滚动到多大区域的元组(w,n,e,s),其中w是左边,n是顶部,e是右边,s是底部。 |
9 | width 画布在X维度上的大小。 |
10 | xscrollincrement 如果将此选项设置为某个正面尺寸,则画布只能定位到该距离的倍数,并且该值将用于按滚动单位滚动,例如当用户单击滚动条末端的箭头时。 |
11 | xscrollcommand 如果画布是可滚动的,则此属性应为水平滚动条的.set()方法。 |
12 | yscrollincrement 与xscrollincrement类似,但控制垂直移动。 |
13 | yscrollcommand 如果画布是可滚动的,则此属性应为垂直滚动条的.set()方法。 |
画布小部件可以支持以下标准项 −
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)
多边形。 创建一个具有至少三个顶点的多边形项目。
oval = canvas.create_polygon(x0, y0, x1, y1,...xn, yn, options)
示例
请自行尝试以下示例−
# !/usr/bin/python3
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()
结果
运行上面的代码时,会产生以下结果−