原文: https://pythonbasics.org/tkinter-label/

Tkinter 标签窗口小部件可用于在屏幕上显示文本或图像。 标签只能显示单一字体的文本。 文本可以跨越多行。

您可以在标签中放置任何文本,并且在窗口中可以具有多个标签(就像在窗口中可以多次放置任何小部件一样)。

示例

简介

只需两行代码即可添加标签。 第一行定义标签和文本。 第二行设置二维位置:

  1. text = Label(self, text="Just do it")
  2. text.place(x=70,y=90)

您可以更改字体颜色或标签大小:

  1. label1 = Label(master, text="Tkinter", fg="red")
  2. label1 = Label(master, text="Helvetica", font=("Helvetica", 18))

Tkinter 标签 - 图1

Tkinter 标签示例

本示例在屏幕上显示一个标签。 这是 Tkinter 著名的“hello world”程序,但是我们决定更改文本。

如果您没有为标签窗口小部件指定大小,则将其大小设置为足以适合文本的大小。

  1. from tkinter import *
  2. class Window(Frame):
  3. def __init__(self, master=None):
  4. Frame.__init__(self, master)
  5. self.master = master
  6. self.pack(fill=BOTH, expand=1)
  7. text = Label(self, text="Just do it")
  8. text.place(x=70,y=90)
  9. #text.pack()
  10. root = Tk()
  11. app = Window(root)
  12. root.wm_title("Tkinter window")
  13. root.geometry("200x200")
  14. root.mainloop()

Tkinter 时钟

Tkinter 标签正在使用双缓冲技术。 此技术可防止在更新屏幕时轻拂屏幕。

您可以说一个时钟每秒更新一次,但不会看到任何闪烁。 该技术目前非常标准,我们不希望在 GUI 窗口中有任何滑动。

时钟可以简单地添加一个计时器功能,如下所示:

  1. from tkinter import *
  2. import time
  3. class App(Frame):
  4. def __init__(self,master=None):
  5. Frame.__init__(self, master)
  6. self.master = master
  7. self.label = Label(text="", fg="Red", font=("Helvetica", 18))
  8. self.label.place(x=50,y=80)
  9. self.update_clock()
  10. def update_clock(self):
  11. now = time.strftime("%H:%M:%S")
  12. self.label.configure(text=now)
  13. self.after(1000, self.update_clock)
  14. root = Tk()
  15. app=App(root)
  16. root.wm_title("Tkinter clock")
  17. root.geometry("200x200")
  18. root.after(1000, app.update_clock)
  19. root.mainloop()

那将显示此时钟自动更新:

Tkinter 标签 - 图2

下载 Tkinter 示例