18.2.15 create_bitmap(position, **options)
在画布的指定位置创建一个位图。
(1)position:位图的坐标(x,y)。
(2)**options:选项有:
选项 | 含义 |
---|---|
activebackground | 指定当位图对象状态为 ACTIVE 时候的背景颜色 |
activebitmap | 指定当位图对象状态为 ACTIVE 时候填充的位图 |
activeforeground | 指定当位图对象状态为 ACTIVE 时候的前景颜色 |
anchor | 1. 指定位图在 position 参数的相对位置 2. N, NE, E, SE, S, SW, W, NW, 或 CENTER 来定位(EWSN代表东西南北,上北下南左西右东) 3. 默认值是 CENTER |
background | 1. 指定背景颜色 2. 即在位图中值为 0 的点的颜色 3. 空字符串表示透明 |
bitmap | 指定显示的位图 |
disabledbackground | 指定当位图对象状态为 DISABLED 时候的背景颜色 |
disabledbitmap | 指定当位图对象状态为 DISABLED 时候填充的位图 |
disabledforeground | 指定当位图对象状态为 DISABLED 时候的前景颜色 |
foreground | 1. 指定前景颜色 2. 即在位图中值为 1 的点的颜色 |
state | 1. 指定该画布对象的状态 2. 可以是 NORMAL,DISABLED(不可用,不响应事件)和 HIDDEN(隐藏) 3. 默认值是 NORMAL |
tags | 为创建的位图对象添加标签 |
18.2.15.1 activebackground | |
鼠标经过创建的bitmap时的背景颜色。 |
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_bitmap(50,50,bitmap='question',
activebackground='red')
b1.pack()
root.mainloop()
结果:
18.2.15.2 activebitmap
鼠标经过时,显示的位图。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_bitmap(50,50,bitmap='question',
activebitmap='info')
b1.pack()
root.mainloop()
结果:
说明:activebitmap是叠加在bitmap指定的位图之上的。
18.2.15.3 activeforeground
鼠标经过bitmap时的前景颜色。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_bitmap(50,50,bitmap='question',
activeforeground='red')
b1.pack()
root.mainloop()
结果:
18.2.15.4 anchor
在指定的位置如何摆放bitmap。默认是居中。也就是bitmap的中心的在指定的坐标(x,y)处。其他的选项值有:N,E,W,S,NE,NW,SE,SW等。NEWS,分别代表北,东,西,南。注意,这里的位置指的是坐标点相对于bitmap中心的的位置。也就是说,E代表的是坐标点在bitmap的东边。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_bitmap(150,150,bitmap='@x.xbm',
anchor='n',activeforeground='red')
b1.create_bitmap(150,150,bitmap='@x.xbm',
anchor='e',activeforeground='blue')
b1.create_bitmap(150,150,bitmap='@x.xbm',
activeforeground='yellow')
b1.pack()
root.mainloop()
结果:
说明:3个bitmap的定位方式不同,出现的位置也不同。
18.2.15.5 background
bitmap的背景颜色。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_bitmap(160,120,bitmap='@x.xbm',
background='yellow')
b1.pack()
root.mainloop()
结果:
18.2.15.6 bitmap
指定显示bitmap。Python的bitmap有两种,分别是:
(1)内部btimap
使用自带的位图,只要赋值相应的bitmap名字赋值给bitmap参数就可以了。比如bitmap=’error’等。
自带bitmap的名字分别是:
‘error’, ‘gray75’, ‘gray50’, ‘gray25’, ‘gray12’, ‘hourglass’, ‘info’, ‘questhead’,'question’和 ‘warning’。具体图案见下图。
符合xbm格式的文件都可以显示。方法是在文件路径之前,加上’@’。比如放在C盘根目录下的x.xbm文件的使用方法就是:
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_bitmap(160,120,bitmap='@c:\\x.xbm')
b1.pack()
root.mainloop()
结果:
18.2.15.7 disabledbackground
设置bitmap的state=tk.DISABLED时候的背景颜色。参见activebackground的说明。
18.2.15.8 disabledbitmap
bitmap的state=tk.DISABLED时候的位图。注意,这个时候只有disabledbitmap定义的位图,而没有bitmap指定的位图显示了。
18.2.15.9 disabledforeground
bitmap的state=tk.DISABLED时候的前景颜色。参见activeforeground的说明。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
def disabled():
b1.itemconfigure(bitmap,state='disabled')
b2=tk.Button(root,text='Disabled',command=disabled)
b2.pack()
b1=tk.Canvas(root)
bitmap=b1.create_bitmap(160,120,bitmap='@c:\\x.xbm',
disabledforeground='red')
b1.pack()
root.mainloop()
结果:
18.2.15.10 foreground
指定bitmap的前景颜色。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
bitmap=b1.create_bitmap(160,120,bitmap='@x.xbm',
foreground='red')
b1.pack()
root.mainloop()
结果:
18.2.15.11 state
指定bitmap的状态。有三种:
(1)NORMAL。正常状态,可见,可选中,绑定的函数可以调用
(2)DISABLED。禁止状态,可见,但是不可以选中,绑定的回调函数不起作用
(3)HIDDEN。隐藏状态。不可见。
18.2.15.12 tags
指定bitmap标签,相当于别名。也可以通过其他的方式添加标签