匠心精神 - 良心品质腾讯认可的专业机构-IT人的高薪实战学院

咨询电话:4000806560

【Python GUI编程】Python GUI编程之Tkinter入门!

【Python GUI编程】Python GUI编程之Tkinter入门!

Python是一种广泛应用于各个领域的高级编程语言,它具有易学易用、适合快速开发、可移植性强等优点,在Web开发、数据处理、机器学习、游戏开发等多个领域都有广泛的应用。而在GUI编程方面,Python也有非常丰富的资源和工具,其中Tkinter是Python自带的GUI库,提供了丰富的GUI控件和布局管理器,易学易用,适合快速开发各种GUI应用程序。

本文将介绍Python GUI编程之Tkinter入门,主要内容包括如下几个方面:

1. Tkinter的安装与使用

2. Tkinter控件的使用

3. Tkinter布局管理器的使用

4. Tkinter常用事件的处理

一、Tkinter的安装与使用

在Python安装时,Tkinter已经被自动安装在系统中了,因此使用Tkinter只需要导入相应的模块即可。下面是一个简单的Tkinter程序:

```
import tkinter as tk

root = tk.Tk()  # 创建一个窗口
root.mainloop()  # 进入主事件循环
```

运行程序,即可看到一个空白的窗口,如下图所示:

![](https://i.loli.net/2021/11/03/vajk6Bu5L9z3rdS.png)

这个程序中,我们首先导入了Tkinter的模块,然后创建了一个窗口,并且通过`mainloop()`方法进入了主事件循环。这个事件循环是Tkinter的核心,它用来处理用户的输入事件和系统的回调事件,保证了GUI程序的正常运行。

二、Tkinter控件的使用

Tkinter提供了丰富的GUI控件,包括按钮、标签、文本框、列表框、滚动条、菜单等,下面我们将介绍几个常用的控件。

1. 标签控件(Label)

标签控件(Label)用来显示文本或图像,通常用于标识其他控件的用途。下面是一个简单的标签控件程序:

```
import tkinter as tk

root = tk.Tk()

label = tk.Label(root, text='Hello, Tkinter!')
label.pack()

root.mainloop()
```

这个程序中,我们创建了一个标签控件,并将它放置到窗口中,如下图所示:

![](https://i.loli.net/2021/11/03/hZgU6KJTlRouOEy.png)

2. 按钮控件(Button)

按钮控件(Button)用于触发响应事件,通常用于提交表单、打开文件、退出程序等。下面是一个简单的按钮控件程序:

```
import tkinter as tk

root = tk.Tk()

def say_hello():
    print('Hello, Tkinter!')

button = tk.Button(root, text='Say Hello', command=say_hello)
button.pack()

root.mainloop()
```

这个程序中,我们创建了一个按钮控件,并将它放置到窗口中,同时指定了一个响应函数`say_hello()`,当按钮被点击时,该函数将会被调用,输出一段文本。

3. 文本框控件(Entry)

文本框控件(Entry)用于让用户输入文本,可以用来实现各种表单。下面是一个简单的文本框控件程序:

```
import tkinter as tk

root = tk.Tk()

entry = tk.Entry(root)
entry.pack()

root.mainloop()
```

这个程序中,我们创建了一个文本框控件,并将它放置到窗口中,如下图所示:

![](https://i.loli.net/2021/11/03/Lq2bflN6z3m1PIG.png)

三、Tkinter布局管理器的使用

Tkinter提供了多种布局管理器,用于控制控件的位置和大小,包括包管理器(Pack)、网格管理器(Grid)和位置管理器(Place)。下面我们将介绍最常用的包管理器(Pack)。

包管理器(Pack)将控件按照从上到下、从左到右的顺序依次排列,可以用于快速布局简单的GUI界面。

```
import tkinter as tk

root = tk.Tk()

label1 = tk.Label(root, text='Label1')
label1.pack()

label2 = tk.Label(root, text='Label2')
label2.pack()

label3 = tk.Label(root, text='Label3')
label3.pack()

root.mainloop()
```

这个程序中,我们创建了三个标签控件,并依次使用Pack布局管理器放置到窗口中,如下图所示:

![](https://i.loli.net/2021/11/03/rLV8Ej5XKsJYUbP.png)

四、Tkinter常用事件的处理

Tkinter的核心是主事件循环,它负责处理用户输入事件和系统回调事件。在Tkinter中,每个控件都可以绑定一个或多个事件响应函数,用来处理与该控件相关的事件。

常见的事件包括鼠标单击事件、键盘按键事件、鼠标移动事件等,下面我们将介绍如何处理鼠标单击事件。

```
import tkinter as tk

root = tk.Tk()

def say_hello(event):
    print('Hello, Tkinter!')

button = tk.Button(root, text='Say Hello')
button.bind('', say_hello)
button.pack()

root.mainloop()
```

这个程序中,我们创建了一个按钮控件,并使用`bind()`方法绑定了一个鼠标单击事件,当按钮被单击时,响应函数`say_hello()`将会被调用,输出一段文本。

总结

本文主要介绍了Python GUI编程之Tkinter入门,包括Tkinter的安装与使用、Tkinter控件的使用、Tkinter布局管理器的使用、Tkinter常用事件的处理等。Tkinter是Python自带的GUI库,提供了丰富的GUI控件和布局管理器,易学易用,适合快速开发各种GUI应用程序。希望本文能够对Python GUI编程初学者有所帮助。