阙辉

1.2Label 使用内置位图

# bitmap:指定显示的位图
from Tkinter import *
#初始化 Tk
root = Tk()
#创建一个 label,使用编码,到现在为止还没有使用过直接通过“drag-and-drop”就可以完
成的 IDE。
label = Label(root,bitmap = 'error')
#上面的代码使用了内置位图 error

#显示 label,必须含有此语句
label.pack()
#进入消息循环

其他可用的位图:
* error
* hourglass
* info
* questhead
* question
* warning
* gray12
* gray25
* gray50
* gray75
若要查看各自的效果,可以使用相应的名称将 bitmpa = 'error'替换。
据说还可以使用自己指定的位图文件,网上找了一下,格式如下:
Label(root, bitmap="@/path/bitmapname")
不过我试了一下,从来没有成功过,我已经将位图该为单色的了:(
另:还有的网上的文章说明如何使用 PhotoImage 和 BitmapImage 显示 bmp 或 gif 文件,提
到一点
防止图像文件被 python 自动回收(garbage collected),应将 bmp 或 gif 放到全局(global)或实体
(instance)中,使用如下两种方法,仍未奏效:

#使用 image 属性
# bm = PhotoImage(file = 'c:\\python.gif')
# label = Label(root,image = bm)
# label.bm = bm
#错误信息:
#TclError: image "pyimageXX" doesn't exist
#使用 bitmap 属性
# bm = BitmapImage(file='c:\\python2.bmp')
# label = Label(root,bitmap=bm)
# label.bm = bm
# label.pack()
#错误信息:
#TclError: format error in bitmap data

虽然二者均没有起作用,还是要说明一下,bitmap 与 image 的关系,如果同时指定这两参数,image 优先。

代码

from tkinter import *
root = Tk()
label = Label(root,bitmap = 'gray12')
label.pack()
root.mainloop()

 

posted on 2018-06-21 09:32  真辉辉  阅读(209)  评论(0)    收藏  举报

导航