Tkinter Label标签的用法
和 Windows 编程类似,在 Tkinter 中最常用的也是一些组件。Tkinter几乎包含其他图形界面库所包含的全部组件,不同的组件可以完成不同的任务。
标签(Label)用来显示静态的文本信息。创建一个标签最简单,只需要一个参数,即父窗口。
label_obj = tk.Label(main_win)
当然还可以设置其他的属性,如背景颜色、对齐方式等。
下面实现一个有意思的标签,用鼠标单击该标签时,标签的内容会发生改变。这些显示在标签中的内容来自一些心灵鸡汤。
import sys if sys.version_info.major == 3: import tkinter as tk elif sys.version_info.major == 2: import Tkinter as tk import random # 引入random库 # 显示的内容,每次随机从这里挑选一条出来显示 idiom = [ u"""世上任何生命都不是尽善尽美的""", u"""让我们怀着善良的心去做成人之美之事""", u"""心存大爱,则无可阻之道""", u"""心存美好,则无可恼之事""", u"""做人无德不足以立身""", u"""微笑可以减轻紧张的情绪和压力""", u"""退一步,海阔天空""", u"""心存善良,则无可恨之人""", u"""人生的最佳状态是淡定从容""", u"""以责人之心责己,以恕己之心恕人""", u"""一个人的涵养,来自一颗包容的心""", u"""善良是心湖绽放柔媚的花朵""", u"""努力是一种生活态度,与年龄无关""", u"""不为困苦所屈服""", u"""人生因有梦想而充满动力""", u"""坚持,是生命的一种毅力""", u"""努力是一种生活态度,与年龄无关""" ] # 标签被单击的处理函数,当用鼠标左键单击标签时这个函数被调用 def label_click_handler(events): selected = random.randint(0, len(idiom)-1) label_obj1['text'] = idiom[selected] # 修改标签的内容 root = tk.Tk() # 初始化Tk() root.title(u"标签用法演示") # 设置窗口标题 root.geometry("400x80") # 宽x高 # 不可以调整窗口大小 root.resizable(width=False, height=False) selected = random.randint(0, len(idiom)-1) label_obj1 = tk.Label(root, text=idiom[selected], width=380, height=60) # 鼠标左键单击了标签,处理函数是label_click_handler() label_obj1.bind("<Button-1>",label_click_handler) label_obj1.pack(side=tk.LEFT) root.mainloop() # 进入消息循环
运行后可以看到如图 1 所示的窗口。
图 1 静态标签
标签除了显示文本外,也可以显示图片。下面的例子通过属性 image 来设置标签上的图片:
import sys if sys.version_info.major == 3: import tkinter as tk elif sys.version_info.major == 2: import Tkinter as tk root = tk.Tk() # 初始化Tk() root.title(u"图片标签演示") # 设置窗口标题 root.geometry("200x200") # 宽x高 # 不可以调整窗口大小 root.resizable(width=False, height=False) # 打开文件dog.png pic1 = tk.PhotoImage(file="dog.png") # 通过参数image来设定图片 label_obj1 = tk.Label(root, image=pic1, width=180, height=180) label_obj1.pack(side=tk.TOP) root.mainloop() # 进入消息循环
运行后可以看到图 2 所示的窗口。
图 2 显示图片的静态标签
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试