Python tkinter -- 第18章 画布控件之位图(bitmap)

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()

结果:
Python tkinter -- 第18章 画布控件之位图(bitmap)_第1张图片
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()

结果:
Python tkinter -- 第18章 画布控件之位图(bitmap)_第2张图片
说明: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()

结果:
Python tkinter -- 第18章 画布控件之位图(bitmap)_第3张图片
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()

结果:
Python tkinter -- 第18章 画布控件之位图(bitmap)_第4张图片
Python tkinter -- 第18章 画布控件之位图(bitmap)_第5张图片
Python tkinter -- 第18章 画布控件之位图(bitmap)_第6张图片
说明: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()

结果:
Python tkinter -- 第18章 画布控件之位图(bitmap)_第7张图片
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()

结果:
Python tkinter -- 第18章 画布控件之位图(bitmap)_第8张图片
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()

结果:
Python tkinter -- 第18章 画布控件之位图(bitmap)_第9张图片
Python tkinter -- 第18章 画布控件之位图(bitmap)_第10张图片
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()

结果:
Python tkinter -- 第18章 画布控件之位图(bitmap)_第11张图片
18.2.15.11 state
指定bitmap的状态。有三种:
(1)NORMAL。正常状态,可见,可选中,绑定的函数可以调用
(2)DISABLED。禁止状态,可见,但是不可以选中,绑定的回调函数不起作用
(3)HIDDEN。隐藏状态。不可见。
18.2.15.12 tags
指定bitmap标签,相当于别名。也可以通过其他的方式添加标签

你可能感兴趣的:(Python,tkinter,Python,tkinter,1024程序员节)