Tkinter 作为 Python 的标准库,是非常流行的 Python GUI 工具,同时也是非常容易学习的,今天我们就来开启 Tkinter 的入门之旅
图形用户界面 (GUI)
图形用户界面 (GUI) 只不过是一个桌面应用程序,可帮助我们与计算机进行交互
-
像文本编辑器这样的 GUI 应用程序可以创建、读取、更新和删除不同类型的文件
-
数独、国际象棋和纸牌等应用程序则是游戏版的GUI程序
-
还有 Google Chrome、Firefox 和 Microsoft Edge 之类的 GUI 应用程序是用来浏览 Internet 的
这些都是我们日常在电脑上使用的一些不同类型的 GUI 应用程序,其实我们通过 Tkinter 也是可以构建简单的类似应用程序的
今天我们作为 GUI 的入门,将创建一个非常简单且漂亮的 GUI 应用程序
用于创建GUI的 Python 库
Python 有大量的第三方类库,对于 GUI 库,主要有以下几种:
-
Kivy -
Python QT -
wxPython -
Tkinter
其中,Tkinter 是很多学习者和开发者的首选,因为它简单易用而且随 Python 安装自带
Tkinter 基础
下面的图片显示了应用程序是如何在 Tkinter 中实际执行
我们首先导入 Tkinter 模型,接着,我们创建主窗口,在这个窗口中,我们将要执行操作并显示一切视觉效果,接下来我们添加 Widgets,最后我们进入 Main Event Loop
这里有 2 个重要的关键字
-
Widgets -
Main Event Loop
事件循环基本上是告诉代码继续显示窗口,直到我们手动关闭它,是在后台无限循环运行的
对于 Widgets 我们后面单独学习
下面一个代码例子,来深入理解下
import tkinter
window = tkinter.Tk()
# to rename the title of the window window.title("GUI")
# pack is used to show the object in the window
label = tkinter.Label(window, text = "Hello World!").pack()
window.mainloop()
我们导入 Tkinter 包并定义一个窗口,接着我们可以修改一个窗口标题,每当打开应用程序时,该标题都会显示在标题选项卡上
最后,我们还定义了一个标签,标签只不过是需要在窗口上显示的输出,在例子中是 hello world
Tkinter Widgets
那么到底什么是 Widgets 呢
Widgets 类似于 HTML 中的元素,我们可以在 Tkinter 中找到针对不同类型元素的不同类型的 Widgets
让我们看看 Tkinter 中所有这些 Widgets 的简要介绍
-
Canvas - Canvas 用于在 GUI 中绘制形状 -
Button – Button 用于在 Tkinter 中放置按钮 -
Checkbutton – Checkbutton 用于在应用程序中创建复选按钮 -
Entry - Entry 用于在 GUI 中创建输入字段 -
Frame – Frame 在 Tkinter 中用作容器 -
Label - Label 用于创建单行 Widgets,如文本、图像等 -
Menu - Menu 用于在 GUI 中创建菜单
下面让我们逐一看一下每个 Widgets 的用法
Label
标签用于创建文本和图像以及所有相关的,而且要注意的是,它只能是单行定义
l1 = Label(window, text="萝卜大杂烩!", font=("ArialBold", 50))
l1.grid(column=0, row=0)
还有一个函数 geometry,它基本上用于更改窗口大小并根据我们的要求进行设置