**18.2.18 create_oval(bbox, options)
根据限定矩形 bbox 在画布上创建一个椭圆。
(1)bbox:定义要创建对象的边界(x1, y1, x2, y2)
(2)options:创建椭圆的选项。选项的具体含义:
选项 | 含义 |
---|---|
activedash | 当鼠标经过椭圆对象边框的时候,绘制虚线 |
activefill | 当鼠标经过椭圆对象的时候,填充颜色 |
activeoutline | 当鼠标经过椭圆对象的时候,绘制的轮廓线 |
activeoutlinestipple | 当鼠标经过椭圆对象的时候,指定填充轮廓的位图 |
activestipple | 当鼠标经过椭圆对象的时候,指定填充椭圆的位图 |
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 | 指定一个位图来填充边框,默认值是空字符串,表示黑色 |
state | 指定该椭圆对象的状态,可以是 NORMAL,DISABLED(不可用,不响应事件)和 HIDDEN(隐藏)。默认值是 NORMAL |
stipple | 指定一个位图用于填充椭圆内部, 默认值是空字符串,表示实心 |
tags | 为创建的椭圆对象添加标签 |
width | 指定边框的宽度 |
18.2.18.1 activedash | |
鼠标经过椭圆边框的时候,边框显示为虚线 |
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
oval1=b1.create_oval(20,40,150,100,width=10,
activedash=True)
b1.pack()
root.mainloop()
结果:
18.2.18.2 activefill
鼠标位于椭圆区域内的时候,椭圆内部的颜色。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
oval1=b1.create_oval(20,40,150,100,
width=10,activefill='red')
b1.pack()
root.mainloop()
结果:
18.2.18.3 activeoutline
鼠标经过椭圆边框的时候,椭圆轮廓线的颜色。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
oval1=b1.create_oval(20,40,150,100,
width=10,activeoutline='blue')
b1.pack()
root.mainloop()
结果:
18.2.18.4 activeoutlinestipple
定义鼠标经过椭圆的时候,填充椭圆轮廓线的填充bitmap。但是因为椭圆的轮廓线是曲线,所以这个参数没有作用。
18.2.18.5 activestipple
定义鼠标经过椭圆的时候,填充椭圆的bitmap。因为椭圆含有曲线,所以此参数不起作用。
18.2.18.6 activewidth
定义鼠标经过椭圆边框的时候,边框的宽度。如果同时设置了width和activewidth的时候,采用数值大的那个。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
oval1=b1.create_oval(20,40,150,100,width=10,
activewidth=15)
b1.pack()
root.mainloop()
结果:
说明:如果activewidth的数值小于width的数值,则边框的宽度没有变化。
18.2.18.7 dash
绘制虚线边框。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
oval1=b1.create_oval(20,40,150,100,
width=10,dash=True)
b1.pack()
root.mainloop()
结果:
18.2.18.8 dashoffset
此参数不起作用
18.2.18.9 disableddash
当椭圆的状态是tk.DISABLED的时候,显示虚线边框。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
def state():
b1.itemconfigure(oval,state=tk.DISABLED)
b2=tk.Button(root,text='Disabled',command=state)
b2.pack()
oval=b1.create_oval(50,50,90,120,
width=5,disableddash=1)
b1.pack()
root.mainloop()
结果:
18.2.18.10 disabledfill
当椭圆的状态是tk.DISABLED的时候,椭圆的填充颜色。用法参见18.2.18.2 activefill节。
18.2.18.11 disabledoutline
当椭圆的状态是tk.DISABLED的时候,绘制轮廓线的颜色。用法参见18.2.18.3activeoutline节。
18.2.18.12 disabledoutlinestipple
当椭圆的状态是tk.DISABLED的时候,轮廓线的填充bitmap。不起作用。
18.2.18.13 disabledstipple
当椭圆的状态是tk.DISABLED的时候,椭圆填充的bitmap。不起作用。
18.2.18.14 disabledwidth
当椭圆的状态是tk.DISABLED的时候,椭圆的宽度。不过此参数有问题,因为不管设置的数值是多少,系统绘制的边框宽度都是1。用法参见18.2.18.6 activewidth节。
18.2.18.15 fill
椭圆内部的填充颜色。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
oval=b1.create_oval(50,50,90,120,width=5,fill='green')
b1.pack()
root.mainloop()
结果:
18.2.18.16 offset
定义使用bitmap作为底纹填充时候的如何放置bitmap。不过因为绘制椭圆不支持填充bitmap,所以没有效果。
18.2.18.17 outline
指定轮廓线的颜色。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
oval=b1.create_oval(50,50,90,120,width=5,
outline='red')
b1.pack()
root.mainloop()
结果:
18.2.18.18 outlineoffset
使用bitmap作为底纹填充轮廓线时候的如何放置bitmap。不过因为绘制椭圆不支持填充bitmap,所以没有效果。
18.2.18.19 outlinestipple
指定填充轮廓线的bitmap。不过不起作用。
18.2.18.20 state
定义椭圆的状态。有三种:NORMAL、DISABLED和HIDDEN
18.2.18.21 stipple
指定填充椭圆的bitmap。不过不起作用。
18.2.18.22 tags
给椭圆指定标签。也可以通过其他方法指定。
18.2.18.23 width
定义椭圆轮廓线的宽度。