2、标签Label属性设置Label()方法可以用于在窗口内建立文字或图像标签有关图像标签的内容将在后续讨论语法格式如下Label(父对象option, ...)参数一表示这个标签将建立在哪一个父对象(父窗口或者容器)内其它option参数()(1) anchor如果空间大于所需时控制标签的位置默认是CENTER(居中)Literal[nw, n, ne, w, center, e, sw, s, se]表示东南西北注意使用小写anchor“se”使用大写anchorSE(2) bg或background背景色彩。(3) fg或foreground前景色彩标签的颜色(4) bordedwidth或bd标签边界宽度默认是1。(5) compound可以设置标签内含图像和文字时彼此的位置关系。left图像在左。right图像在右。top图像在上。bottom图像在下。center文字覆盖在图像上方。(6) cursor当鼠标光标在标签上方时的外形。(7) bitmap使用默认图标当作标签内容。系统默认的图标error、hourglass、info、questhead、question、warning、gray12、gray25gray50、gray75(8) font可选择字形、字形样式与大小。字形family如HelveticaTimes等可以自行进入Word内参考所有系统字形。字号size单位是像素。weight例如bold、normal。slant例如italic、roman如果不是talic则是romanunderline例如True、Falseoverstrike例如True、False(9) height标签高度单位是字符。(10) width标签宽度单位是字符。(11) image标签以图像方式呈现。(12) padx/pady标签文字与标签区间的间距单位是像素。.padx可以设置标签文字左右边界与标签区间的x轴间距pady可以设置标签文字上下边界与标签区间的y轴间距。(13) relief默认是reliefFLAT可由此控制标签的外框。(14) text标签内容如果有“\n” 则可输入多行文字。(15) textvariable可以设置标签以变量方式显示。(16) underline可以设置第几个文字有下画线从0开始算起默认是-1表示无下画线。(17) justify存在多方文本时最后一行的对齐方式可取值有LEFT / CNETER / RIGHT(靠左/居中/靠右)默认是居中对齐。(18) wraplength文本到多少宽度后换行单位是像素。图像PhotoImage图片可以应用在许多对方例如标签、功能按钮、选项按钮、文字区域等。在使用前可以用PhotoImage()方法建立图像对象然后再将此对象应用在其他窗口组件上。语法如下imageobj PhotoImage(filexxx.gif) # 扩展名gif传回图像对象PhotoImage()方法早期只支持gif文件格式不接受常用的jpg或png格式的图像目前已经可以支持png格式了。可以在Label()方法内使用imageimageobj参数设置此图像对象。如果想要在标签内显示jpg文件需要借助PIL模块的Image和ImageTk模块需要先导入pillow模块。注意在程序设计中需导入的是PIL模块主要原因是要向旧版Python Image Library兼容如下所示from tkinter import * from PIL import Image, ImageTk root Tk() root.title(my window) root.geometry(680x400) image Image.open(xxx.jpg) yellowstone ImageTk.PhotoImage(image) label Label(root, imageyellostone) label.pack() root.mainloop()注意bitmap参数和image参数不能共存如果发生这种情况bitmap参数将不起作用。Config()方法widget控件在建立时可以直接设置对象属性若是部分属性未建立未来在程序运行时如果想要建立或是更改属性可以使用config()方法。此方法内属性设置的参数用法与建立时相同。from tkinter import * counter 0 # 计数的全局变量 def run_counter(digit): # 数字变量内容的更新 def counting(): # 更新的数字方法 global counter # counter 1 # 定义全局变量 digit.config(textstr(counter)) # 列出数字内容 digit.after(1000, counting) # 隔一秒后调用counting counting() # 持续调用 root Tk() root.title(ch2_23) digit Label(root, bgyellow, fgblue, height 3, width10, font(Helvetica, 20, bold)) digit.pack() run_counter(digitdigit) root.mainloop()keys()方法调用这个方法会用一个列表传回这个widget所有的参数。分割线Separator(父对象, option)参数一父对象表示这个分隔线将建立在哪一个父对象内options参数如果是HORIZONTAL则建立水平分割线VERTICAL则建立垂直分隔线。from tkinter import * from tkinter.ttk import Separator root Tk() root.title(ch2_26) myTitle 一个人的极境旅行 myContent 2016年12月我一个人订了机票和船票 开始我的南极旅行飞机经迪拜再往阿根廷的乌斯环亚 在此我登上邮轮开始我的南极之旅。 lab1 Label(root, textmyTitle, font(Helvetica, 20, bold)) lab1.pack(padx10, pady10) sep Separator(root, orientHORIZONTAL) sep.pack(fillX, padx5) # 表示此分割线填满X轴与窗口边界左右均相距5像素 lab2 Label(root, textmyContent) lab2.pack(padx10, pady10) root.mainloop()