欢迎访问宙启技术站
智能推送

Python图形化界面函数:Tkinter模块介绍

发布时间:2023-06-10 09:30:02

Python是一种可读性很强的编程语言,尤其善于处理数据和文本。Python有很多强大的模块,其中Tkinter就是一个很好用的图形界面模块。Tkinter模块是Python自带的模块之一,我们无需安装即可使用,此外,它还可以用于在图形用户界面(GUI)中创建各种窗口部件和组件(如按钮、文本框、标签等)。

本篇文章将为您深入介绍Tkinter模块的主要内容,包括Tkinter模块的一些基础知识、常用控件的用法以及具体实践案例,帮助您了解和掌握Tkinter模块的技巧。

一、Tkinter模块的基本知识

1. 导入Tkinter模块

首先,我们需要导入Tkinter模块以开启相关图形界面编程的功效。在Python中导入Tkinter模块的方法如下:

from tkinter import *

这里的“*”意思是导入Tkinter中所有的类和函数,这样我们就可以在程序中方便地使用它们。如果你只想导入其中的一个或几个类或函数,也可以像下面这样写:

from tkinter import Tk, Button, Label

2. 创建主窗口

创建一个程序的主窗口需要使用Tk()函数。例如:

root = Tk() #创建主窗口
root.mainloop() #事件循环

如上所述,当前主窗口需要在while循环中进行,以保证主进程在主循环中稳定运行。当然,如果以其他方式组织代码,也可以在主函数体中执行。

3. 位置和大小

在Tkinter中,我们可以使用参数geometry来设置窗口的初始大小和位置。例如:

root.geometry("400x300+500+200")

这里“400x300”是指窗口的大小,“+500+200”表示窗口的位置,其中“+”的前两个数字代表窗口左上角的x和y坐标,后两个数字被忽略,可用于调整屏幕上的窗口层叠顺序。

4. 框架

框架是Tkinter中一种核心的布局组件,它用来组织和分隔其他窗口小部件。它有一个主要的容器,该容器称为父框架,因为它可包含其他小部件。

要创建一个框架,需要先在主窗口上创建一个父框架,然后再将其他小部件添加到该框架中。例如,我们可以将一个标签和一个按键添加到框架中:

f = Frame(root) #创建框架
f.pack() #可使用填充对象讲所有的新建立的构件添加到主要的容器内

Label(f, text="Hello").pack(side=LEFT) #添加标签
Button(f, text="Click").pack(side=RIGHT) #添加按键

二、常用控件的用法

在Tkinter中,有很多种窗口小部件。这些小部件可以用来创建各种界面元素,比如文本框、标签、按键、复选框等。在这里,我将介绍常用的几种控件及其用法。

1. 标签/标签框

Label是Tkinter中常用的标签控件。它通常用于显示文本或图像。例如:

label_1=Label(root, text="Hello World!", font=('微软雅黑',30))
label_1.pack() 

2. 文本框

Entry是Tkinter中的文本框控件。它允许用户在其中输入文本和数字,并从中读取输入的内容。例如:

entry_1=Entry(root,bd=5)
entry_1.pack()

其中的bd是文本框的边框大小。

3. 按钮/单选框/复选框

Button是Tkinter中常用的按键控件。它用于触发某些操作(例如打印等)。

Radiobutton和Checkbutton则是单选框和复选框之类的多选选择控件,它们通常用于显示选项列表、面板等等。例如:

button_1=Button(root,text="确定",bg='white',fg='blue',font=("微软雅黑",15))
button_1.pack()

radio_button_1=Radiobutton(root,text='男',value='male')
radio_button_2=Radiobutton(root,text='女',value='female')
checkbox_1=Checkbutton(root,text='学生')

radio_button_1.pack()
radio_button_2.pack()
checkbox_1.pack()

其中的value是控件的特定选项。如果选中,它们将返回值;如果未选中,则返回None。

三、图形界面编程实践

本小节将介绍如何使用Tkinter模块来实现一个GUI应用。应用程序将通过表单收集用户的基本信息(例如姓名、电子邮件地址、手机号码等),并将填写好的表单发送给用户指定的电子邮件地址。

1. 创建GUI应用窗口

首先,我们需要创建GUI应用窗口。可以使用Tk()函数来创建一个简单的窗口,使用.geometry()方法设置GUI窗口的大小、位置和标题。

from tkinter import *
root=Tk()
root.geometry("400x300+500+200")   #初始化窗体大小
root.title("New Application")   #窗体标题

2. 添加窗口小部件

接下来,我们将添加必要的小部件,例如标签,文本框,按键等。在我们的示例中,我们将添加标签和文本框,以便用户可以在相应的文本框中输入其个人信息。

#添加标签和文本框
label_name=Label(root,text="您的姓名:",font=("微软雅黑",15))
label_name.pack(pady=10)
entry_name=Entry(root,bd=5)
entry_name.pack(pady=10)

label_email=Label(root,text="您的电子邮件地址:",font=("微软雅黑",15))
label_email.pack(pady=10)
entry_email=Entry(root,bd=5)
entry_email.pack(pady=10)

label_phone=Label(root,text="您的手机号码:",font=("微软雅黑",15))
label_phone.pack(pady=10)
entry_phone=Entry(root,bd=5)
entry_phone.pack(pady=10)

3. 点击按键实现操作

接下来,我们将添加“提交”按键,以便用户可以在填写完表单后单击该按键来提交信息。需要注意的是,“提交”按钮需要执行某些特定的操作,例如在填写完表单后将表单发送到用户指定的电子邮件地址。

#添加“提交”按键实现操作
def submit():
    name=entry_name.get()
    email=entry_email.get()
    phone=entry_phone.get()

    #这里需要添加将信息发送到用户指定电子邮件地址的代码

    entry_name.delete(0,END)
    entry_email.delete(0,END)
    entry_phone.delete(0,END)
    return

button_submit=Button(root,text="提交",command=submit)
button_submit.pack(pady=20)

这里,我们首先定义了一个名为submit()的函数,该函数将获取用户的输入,将收集到的信息发送到用户指定的电子邮件地址,然后清空所有文本框中的内容。

4. 运行应用程序

最后,我们将添加代码以运行整个应用程序。在这里,我们将使用mainloop()功能,以便程序运行一直等待直到用户单击“提交”按钮。

root.mainloop()