18.2.20 create_rectangle(bbox, **options)
根据限定矩形 bbox,在画布上创建一个矩形。新创建的对象位于显示的最前端。
(1)bbox:定义要创建对象的边界(x1, y1, x2, y2)
(2)options: 选项的具体含义
选项 | 含义 |
---|---|
activedash | 当鼠标经过矩形对象边框的时候,绘制虚线边框 |
activefill | 当鼠标经过矩形对象的时候,矩形内部的填充颜色 |
activeoutline | 当鼠标经过矩形对象边框的时候,绘制轮廓线 |
activeoutlinestipple | 当鼠标经过矩形对象边框的时候,指定填充轮廓线的bitmap。此参数无效。 |
activestipple | 当鼠标经过矩形对象的时候,指定矩形内部填充的bitmap。 |
activewidth | 当鼠标经过矩形对象的边框时候,指定边框的宽度 |
dash | 指定绘制虚线边框 |
dashoffset | 此参数不起作用 |
disableddash | 当矩形对象状态为 DISABLE 的时候,绘制虚线边框 |
disabledfill | 当矩形对象状态为 DISABLE 的时候,矩形内部填充颜色 |
disabledoutline | 当矩形对象状态为 DISABLE 的时候,绘制轮廓线 |
disabledoutlinestipple | 当矩形对象状态为 DISABLE 的时候,指定填充轮廓线的位图 |
disabledstipple | 当矩形对象状态为 DISABLE 的时候,指定填充矩形内部的位图 |
disabledwidth | 当矩形对象状态为 DISABLE 的时候,指定边框的宽度 |
fill 指定填充的颜色, | 空字符串表示透明 |
offset | 指定填充位图的偏移,该选项的值可以是:“x,y”, “#x,y”, N, NE, E, SE, S, SW, W, NW, CENTER |
outline | 指定边框的颜色 |
outlineoffset | 指定绘制轮廓线位图的偏移,该选项的值可以是:“x,y”, “#x,y”, N, NE, E, SE, S, SW, W, NW, CENTER |
outlinestipple | 当 outline 选项被设置时,该选项用于指定一个位图来填充边框,默认值是空字符串,表示黑色 |
state | 指定该矩形对象的状态,可以是 NORMAL,DISABLED(不可用,不响应事件)和 HIDDEN(隐藏)。默认值是 NORMAL |
stipple | 指定一个位图用于填充矩形内部,默认值是空字符串,表示实心 |
tags | 为创建的矩形对象添加标签 |
width | 指定边框的宽度 |
18.2.20.1 activedash | |
鼠标经过矩形边线的时候,边框显示为虚线。 |
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
rect=b1.create_rectangle(20,40,250,100,
width=15,activedash=True)
b1.pack()
root.mainloop()
结果:
18.2.20.2 activefill
鼠标经过矩形的时候,矩形内部的填充颜色。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
rect=b1.create_rectangle(20,40,250,100,
width=15,activefill='blue')
b1.pack()
root.mainloop()
结果:
18.2.20.3 activeoutline
鼠标经过矩形边框的时候,矩形边框的颜色。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
rect=b1.create_rectangle(20,40,250,100,
width=15,activeoutline='red')
b1.pack()
root.mainloop()
结果:
18.2.20.4 activeoutlinestipple
定义鼠标经过矩形的时候,填充矩形边框的bitmap。此参数不起作用
18.2.20.5 activestipple
定义鼠标经过多边形的时候,填充多边形的bitmap。矩形必须填充颜色,才能填充bitmap。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
rect=b1.create_rectangle(20,40,250,100,
width=10,fill='red',
activestipple='error')
b1.pack()
root.mainloop()
结果:
18.2.20.6 activewidth
定义鼠标经过矩形边框的时候,设置边框的宽度。如果此参数的数值小于width中的数值,那么使用width的定义的数值。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
rect=b1.create_rectangle(20,40,250,100,
width=10,activewidth=20)
b1.pack()
root.mainloop()
结果:
18.2.20.7 dash
绘制虚线边框。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
rect=b1.create_rectangle(20,40,250,100,
width=10,dash=True)
b1.pack()
root.mainloop()
结果:
18.2.20.8 dashoffset
此参数不起作用
18.2.20.9 disableddash
当矩形的状态是tk.DISABLED的时候,显示虚线边框。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
def state():
b1.itemconfigure(rect,state=tk.DISABLED)
b2=tk.Button(root,text='Disabled',command=state)
b2.pack()
rect=b1.create_rectangle(20,40,250,100,
width=10,disableddash=True)
b1.pack()
root.mainloop()
结果:
18.2.20.10 disabledfill
当矩形的状态是tk.DISABLED的时候,矩形的填充颜色。具体用法参见18.2.20.2节。
18.2.20.11 disabledoutline
当矩形的状态是tk.DISABLED的时候,绘制轮廓线的颜色。具体用法参见18.2.20.3节。
18.2.20.12 disabledoutlinestipple
当矩形的状态是tk.DISABLED的时候,轮廓线的填充bitmap。不起作用
18.2.20.13 disabledstipple
当矩形形的状态是tk.DISABLED的时候,填充矩形的bitmap。具体用法参见18.2.20.5节。
18.2.20.14 disabledwidth
当矩形的状态是tk.DISABLED的时候,矩形边框的宽度。具体用法参见18.2.20.6节。
说明:对于disabledwidth,不管数值是多少,都是宽度为1的边框。
18.2.20.15 fill
矩形内部的填充颜色。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
rect=b1.create_rectangle(20,40,250,100,
width=5,fill='red')
b1.pack()
root.mainloop()
结果:
18.2.20.16 offset
使用bitmap作为底纹填充矩形内部的时候,如何放置bitmap。参见18.2.17.16 的说明。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
rect=b1.create_rectangle(20,40,250,100,
width=5,offset=tk.NW,
stipple='@x.xbm',fill='red')
b1.pack()
root.mainloop()
结果:
18.2.20.17 outline
指定轮廓线的颜色。如果没有指定轮廓线的颜色,默认值是黑色的。
18.2.20.18 outlineoffset
使用bitmap作为底纹填充轮廓线时候的如何放置bitmap。此参数不起作用。
18.2.20.19 outlinestipple
指定填充轮廓线的bitmap。此参数不起作用。
18.2.20.20 state
定义矩形的状态。有三种:NORMAL、DISABLED和HIDDEN
18.2.20.21 stipple
指定填充矩形的bitmap。用法参见18.2.20.16 节。
18.2.20.21 tags
给矩形指定标签。也可以通过其他方法指定。
18.2.20.22 width
定义矩形轮廓线的宽度。