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
定义矩形轮廓线的宽度。