Python+Tkinter制作专属图形化界面
本文详细介绍如何使用Python标准库Tkinter快速构建图形用户界面。内容涵盖窗口创建、大小与位置设置、标题定义,以及Label、Entry和Button等核心控件的添加与网格布局定位,帮助开发者掌握基础GUI编程技能。
介绍
本期案例旨在指导大家制作一个专属的GUI图形化界面,该界面可用于设计签名(效果见下图)。这个功能是否有趣?你是否渴望学习?鉴于篇幅限制,今天我们将重点详细讲解Tkinter的具体用法。虽然通常不打算深入讲解这一基础知识,但考虑到希望深入学习的朋友可能觉得内容不够详尽,因此特别补充了这一章节。

tkinter的简单应用
Tkinter是Python的标准GUI库。利用Python和Tkinter,我们可以快速创建GUI应用程序。此外,常见的GUI库还有PyQt5,了解这两个常用库即可,若你有意深入学习,可进一步探索。由于Tkinter属于Python标准库,无需通过pip安装,直接导入即可使用。
显示窗口
调用root.mainloop()以显示窗口;
窗口默认会显示在电脑屏幕的左上角,且尺寸非常小(后续将对此进行改进);
from tkinter import *
from tkinter import messagebox
# 创建窗口:实例化一个窗口对象。
root = Tk()
# 显示窗口
root.mainloop()
"""
注意到:该窗口默认的显示位置在哪里,观察我下面的截图。
窗口默认显示在整个电脑屏幕的左上角,并且窗口大小特别小。
"""运行结果如下:

注意:上述两行代码中,首先实例化一个窗口对象,随后调用方法展示该窗口,使其真正显示出来。接下来的操作均针对此窗口进行优化,请注意:这些优化代码需放置在这两行核心代码之间。
设置窗口大小
使用root.geometry("600x400")调整窗口的大小;
该方法传入的参数格式为“宽x高”,需特别注意此处的乘号是小写英文字母“x”,而非表示数学乘法的星号“*”;
from tkinter import *
from tkinter import messagebox
# 创建窗口:实例化一个窗口对象。
root = Tk()
# 窗口大小
root.geometry("600x450")
# 显示窗口
root.mainloop()运行结果如下:

调整窗口位置(使用的是同一个方法)
使用root.geometry("600x400+374+182")调整窗口的大小及位置;
参数“374,182”表示窗口左上角顶点距离电脑屏幕左上角的坐标值。该数值可通过微信截图工具直接获取。

操作代码如下:
from tkinter import *
from tkinter import messagebox
# 创建窗口:实例化一个窗口对象。
root = Tk()
# 窗口大小
root.geometry("600x450+374+182")
# 显示窗口
root.mainloop()运行结果如下:

设置窗口的标题
使用root.title()设置窗口的标题;
默认情况下,窗口标题显示为“tk”;
from tkinter import *
from tkinter import messagebox
# 创建窗口:实例化一个窗口对象。
root = Tk()
# 窗口大小
root.geometry("600x450+374+182")
# 窗口标题
root.title("我的个性签名设计")
# 显示窗口
root.mainloop()运行结果如下:

添加标签控件,并定位
使用Label(root,text="签名")添加标签控件
第一个参数传入已实例化的root窗口对象;第二个参数传入希望显示的标签文本内容;
仅添加标签控件是不够的,必须指定其位置后,该控件才会真正展示出来。即最后需调用grid()方法以完成标签控件的显示;
from tkinter import *
from tkinter import messagebox
# 创建窗口:实例化一个窗口对象。
root = Tk()
# 窗口大小
root.geometry("600x450+374+182")
# 窗口标题
root.title("我的个性签名设计")
# 添加标签控件
label = Label(root)
# 定位
label.grid()
# 显示窗口
root.mainloop()运行结果如下:

当然,你也可以想到,该方法肯定还可以修改字体样式、字体大小、字体颜色呀?具体怎么操作呢?我们接着往下面看。
from tkinter import *
from tkinter import messagebox
# 创建窗口:实例化一个窗口对象。
root = Tk()
# 窗口大小
root.geometry("600x450+374+182")
# 窗口标题
root.title("我的个性签名设计")
# 添加标签控件
label = Label(root,text="签名",font=("宋体",25),fg="red")
"""
text参数用于指定显示的文本;
font参数用于指定字体大小和字体样式;
fg参数用于指定字体颜色;
"""
# 定位
label.grid()
# 显示窗口
root.mainloop()运行结果如下:

添加输入框,并定位
使用Entry(root,font=("宋体",25),fg="red")添加输入框
第一个参数传入已实例化的root窗口对象;第二个参数可选,用于指定输入字体的样式和大小;第三个参数同样可选,用于指定输入字体的颜色。
同样,仅使用上述代码不会显示输入框,只有调用grid()方法并定位后,才会真正显示该输入框;
from tkinter import *
from tkinter import messagebox
# 创建窗口:实例化一个窗口对象。
root = Tk()
# 窗口大小
root.geometry("600x450+374+182")
# 窗口标题
root.title("我的个性签名设计")
# 添加标签控件
label = Label(root,text="签名",font=("宋体",25),fg="red")
# 定位
label.grid()
# 添加输入框
entry = Entry(root,font=("宋体",25),fg="red")
entry.grid()
# 显示窗口
root.mainloop()运行结果如下:

注意:显然这种摆放方式并非我们所需。我们需要进行调整,下面将专门用一个小节讲述如何调整控件的摆放位置。
调整控件的摆放位置
首先需明确,显示窗口采用的布局方式是什么?实际上是网格式布局。那么什么是网格式布局?你了解Excel表格吗?其中的一个个格子即为网格式布局方式。

了解了上述原理后,我们现在来真正调整控件的摆放位置。
from tkinter import *
from tkinter import messagebox
# 创建窗口:实例化一个窗口对象。
root = Tk()
# 窗口大小
root.geometry("600x450+374+182")
# 窗口标题
root.title("我的个性签名设计")
# 添加标签控件
label = Label(root,text="签名:",font=("宋体",25),fg="red")
# 定位
label.grid()
"""
label.grid()等价于label.grid(row=0,column=0)
"""
# 添加输入框
entry = Entry(root,font=("宋体",25),fg="red")
entry.grid(row=0,column=1)
"""
row=0,column=1表示我们将输入框控件,放在第1行第2列的位置;
python语言中,这个下标是从0开始的。
"""
# 显示窗口
root.mainloop()运行结果如下:

添加点击按钮
使用Button(root,text="签名设计",font=("宋体",25),fg="red")添加输入框
第一个参数传入已实例化的root窗口对象;第二个参数展示点击按钮的标签文本;第三个参数可选,用于指定按钮字体的样式和大小;第四个参数同样可选,用于指定按钮字体的颜色。
同样,仅使用上述代码不会显示输入框(此处指按钮),只有调用grid()方法并定位后,才会真正显示该点击按钮;
from tkinter import *
from tkinter import messagebox
# 创建窗口:实例化一个窗口对象。
root = Tk()
# 窗口大小
root.geometry("600x450+374+182")
# 窗口标题
root.title("我的个性签名设计")
# 添加标签控件
label = Label(root,text="签名:",font=("宋体",25),fg="red")
# 定位
label.grid()
# 添加输入框
entry = Entry(root,font=("宋体",25),fg="red")
entry.grid(row=0,column=1)
# 添加点击按钮
button = Button(root,text="签名设计",font=("宋体",25),fg="blue")
button.grid(row=1,column=1)
# 显示窗口
root.mainloop()运行结果如下:

至此,界面已简单搭建完成。接下来需实现输入名字后,点击签名设计按钮,显示对应的签名效果,此时需借助爬虫技术。明天我们将发布该文的下篇,敬请期待。
点击按钮自定义功能
最后补充这一知识点:点击按钮后,通常希望获得反馈,因此需要自定义函数。
from tkinter import *
from tkinter import messagebox
def func():
print("我是黄同学")
# 创建窗口:实例化一个窗口对象。
root = Tk()
# 窗口大小
root.geometry("600x450+374+182")
# 窗口标题
root.title("我的个性签名设计")
# 添加标签控件
label = Label(root,text="签名:",font=("宋体",25),fg="red")
# 定位
label.grid()
# 添加输入框
entry = Entry(root,font=("宋体",25),fg="red")
entry.grid(row=0,column=1)
# 添加点击按钮
button = Button(root,text="签名设计",font=("宋体",25),fg="blue",command=func)
button.grid(row=1,column=1)
"""
command=func表示调用最开始定义的func函数。
func函数一定要在这句代码之前,因为这里需要调用这个func函数。
"""
# 显示窗口
root.mainloop()运行结果如下:

以上就是Python+Tkinter制作专属图形化界面的详细内容,更多关于Python Tkinter图形化界面的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













