Python Tkinter 教程。了解Tkinter的字体类

636 阅读5分钟

在这篇文章中,我们将进一步了解Tkinter字体类。当涉及到设计一个功能齐全且能适应各种环境的图形用户界面时,Tkinter 是最好的选择。它是一个内置的图形库,与Python 编程语言一起出现。所以,让我们看看这个特殊库的一些特点,让我们的GUI开发更上一层楼。

推荐阅读。Tkinter教程第1部分--制作Tkinter Canvas

Tkinter简介

Python在互联网上设置了许多GUI开发库。它们中的大多数都是开源的,并且易于使用。但当它们与GUI的入门指南没有多大关系时。在这个意义上,初学者需要投入更多的时间和资源来学习,并根据自己的知识来实现它们。下面是其中一些库的列表。

  1. PyQT5
  2. Kivy
  3. WxPython等。

但是,Tkinter处于一个非常不同的框架中。它的内置原因是,基本的 Python 解释器 IDLE*- 一个轻量级的python IDE都是用这个包设计的。除*此之外,与其他库相比,从基础到高级的学习都非常容易。下面是Tkinter主要组件和类的列表。

  1. **根/窗口。**它是这个库的主要部件。一个可调整大小的窗口,可容纳其他子部件。
  2. 标签。 一个标签,可以处理维护每个小部件的标签的任务。它定义了它们的属性。
  3. **按钮。**一个简单的按钮,根据用户的命令发挥作用。
  4. 字体。 一个特殊的类,帮助创建者设置任何子小部件的字体。
  5. 主循环(Mainloop)。 这是个主循环,它连续无限次地运行GUI,直到用户不退出。

一个用Tkinter编写的小的Hello World代码

在这一节中,我们将写一段代码,创建一个Hello World的窗口**。**

代码。

from tkinter import *
root = Tk()
root.title("Hello World")
root.geometry("400x400")

输出。

Tkinter 窗口

这是一个我们只用几行代码就创建的窗口。让我们来理解每一行。

  1. 导入模块。
  2. 然后使用root 变量创建一个**Tk()**类的实例。我们可以给Tk()类的对象起任何名字。
  3. 使用**title()**函数设置窗口的标题。这将在窗口的左上角渲染文本。
  4. 然后,**geometry()**函数帮助设置我们窗口的宽度和高度。

了解Tkinter中打印文本的基础知识

从基础知识出发的原因是我们需要理解Tkinter中的字体并不局限于某个特定的类,它们也反映在其他一些主要的部件中。

还可以阅读:Tkinter框架和标签。一个简单的参考

现在我们已经进入了流程,让我们了解更多关于它的事情。最重要的是,我们设计的GUI应该看起来很有吸引力,内容丰富。所以,为了使它成为一种方式,我们有Tkinter的Label()部件。它的作用是在屏幕上渲染一些文字,提供一些我们想要的信息。它的语法 非常简单。

label_1 = Label(active_window, foreground_color, background_color, font, height, width)

对于Label widget来说,还有很多参数,但是,这些参数对于研究来说也是完美的。因此,这就是同样的代码。

from tkinter import *

root = Tk()
root.title("Hello World")
root.geometry("400x400")

my_label = Label(root, text = "Hello World", fg = "Green", bg = "red", font = ("Arial", 32)) # setting up the labels 
my_label.pack()

root.mainloop()

输出。

标签窗口输出

需要注意的要点是,字体在这里充当了一个参数 。我们可以给出一个由字体类型和大小组成的元组,或者直接给出名称。这个参数有多种名称。下面列出 了一些。

  1. Arial
  2. Times
  3. Times New Roman
  4. 粗体
  5. 斜体
  6. 粗斜体

pack()方法是为了在屏幕上显示我们创建的标签。


使用Tkinter字体类的工作

字体是一些自然产生的令人敬畏的书写风格。世界各地的人们有不同的手写风格,而那些知道如何将相同的手写风格转换为数字格式的人,开发了我们使用和喜爱的字体。

通过Tkinter字体类,你可以将打印在tkinter窗口上的文本转换为粗体、斜体、罗马体,甚至可以改变字体家族。

现在我们已经操作了一些字体功能,让我们来看看源自tkinter.font模块的主要字体 类。这个模块提供了四个主要类型。

  1. tkinter.font.NORMAL
  2. tkinter.font.BOLD
  3. tkinter.font.ITALIC
  4. tkinter.font.ROMAN

要了解更多关于这个理论的信息,请阅读这个链接官方文档

我们将直接看到代码形式的应用。

from tkinter import *
from tkinter.font import Font

root = Tk()
root.title("My Interface")
root.geometry('400x400')

my_font = Font(
    family = 'Times',
    size = 30,
    weight = 'bold',
    slant = 'roman',
    underline = 1,
    overstrike = 0
)

my_button = Button(root, text = 'Button', font = my_font)
my_button.pack(pady = 20)

root.mainloop()


Tkinter字体输出

对上述代码的解释。

  1. 首先我们导入tkinter模块的所有子模块。然后从tkinter.font模块导入Font类。这是个主要的实用类。
  2. 然后创建一个Instance,即root。将标题设为 "我的界面"
  3. 设置几何图形为500×500(宽×高)。
  4. 然后创建my_font作为Font 类的一个实例。它有一组广泛的参数:**family:-**选择字体类型,**size:-**字体大小,weight:- 字体粗细,bold/normal,**slant:-**斜体roman/italic,**underline:-**在文本下画一个下划线,**overstrike:-**画一个划过线。
  5. 之后是一个按钮小部件,它只得到一个点击,而没有任何东西。我们把参数设置为默认窗口为根,文本标签为 "Button",字体=my_font。这将调用创建的字体类的my_font 对象。
  6. 主循环运行整个代码并跟踪每个GUI事件。当用户按下关闭按钮时,它就退出。

总结

这样,我们就结束了这个关于tkinter字体类的话题。这是一个非常容易理解和实现的话题。希望这能使GUI知识得到更多的提高。