2025年3月30日 星期日 甲辰(龙)年 月廿九 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

Tkinter Label标签的用法

时间:10-01来源:作者:点击数:29

和 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 显示图片的静态标签
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门