Python GUI编程零基础入门|Tkinter模块超详细教程(窗口、组件、事件、布局实战)
·
一、什么是 Tkinter?
Tkinter 是 Python 标准内置的图形用户界面(GUI)库。
可以用来开发:桌面窗口、按钮、输入框、弹窗、小游戏、可视化工具等。
相比于 PyQt、wxPython,Tkinter 轻量、简单、零配置,是Python新手GUI入门首选。
环境说明
Python3.x 自带,无需安装,直接导入即可
import tkinter
二、Tkinter 固定开发模板(必背)
所有 Tkinter 程序都遵循这套固定结构:
-
创建主窗口
运行后弹出一个空白桌面窗口,代表 GUI 程序运行成功。
三、五大常用组件详解
3.1 Label 标签(显示文本/文字)
用于展示静态文字、提示信息,不可点击、不可输入。
import tkinter as tk
root = tk.Tk()
root.title("Label标签演示")
root.geometry("400x200")
# 创建标签
label = tk.Label(root, text="Hello Tkinter!", font=("微软雅黑", 16))
# 摆放组件
label.pack()
root.mainloop()
3.2 Button 按钮(点击事件核心)
可点击按钮,绑定自定义函数,实现交互逻辑。
import tkinter as tk
root = tk.Tk()
root.title("按钮点击事件")
root.geometry("400x200")
# 点击触发函数
def click_func():
print("按钮被点击了!")
# 创建按钮
btn = tk.Button(root, text="点击我", command=click_func)
btn.pack()
root.mainloop()
command:绑定点击触发的函数,不用加括号。
3.3 Entry 单行输入框
接收用户输入内容(账号、密码、文本信息)。
import tkinter as tk
root = tk.Tk()
root.title("输入框演示")
root.geometry("400x200")
entry = tk.Entry(root, font=("微软雅黑", 14))
entry.pack()
root.mainloop()
3.4 获取输入框内容(实战重点)
import tkinter as tk
root = tk.Tk()
root.title("获取输入内容")
root.geometry("400x250")
def get_input():
# 获取输入框内容
content = entry.get()
print("用户输入:", content)
entry = tk.Entry(root, font=("微软雅黑", 14))
entry.pack(pady=20)
btn = tk.Button(root, text="获取内容", command=get_input)
btn.pack()
root.mainloop()
3.5 Text 多行文本框
用于大段文字展示、多行输入。
text = tk.Text(root, width=40, height=10)
text.pack()
四、三种布局方式(必会)
Tkinter 所有组件必须布局才能显示,三种方式:
1. pack() 流式布局(最简单、常用)
从上到下自动排列,支持边距设置 padx/pady
label.pack(pady=10,padx=20)
2. grid() 网格布局(整齐排版)
表格式行列布局,适合登录界面、表单
label.grid(row=0, column=0)
3. place() 绝对定位(精准位置)
通过 x、y 坐标精准摆放
label.place(x=100, y=50)
五、综合实战:简易登录界面
整合所有知识点,写一个完整可运行的登录窗口
import tkinter as tk
root = tk.Tk()
root.title("简易登录窗口")
root.geometry("400x300")
# 登录逻辑
def login():
username = entry_user.get()
pwd = entry_pwd.get()
if username == "admin" and pwd == "123456":
label_res.config(text="登录成功!", fg="green")
else:
label_res.config(text="账号或密码错误", fg="red")
# 用户名
tk.Label(root, text="用户名:", font=("微软雅黑",12)).pack(pady=5)
entry_user = tk.Entry(root, font=("微软雅黑",12))
entry_user.pack()
# 密码
tk.Label(root, text="密 码:", font=("微软雅黑",12)).pack(pady=5)
entry_pwd = tk.Entry(root, font=("微软雅黑",12), show="*")
entry_pwd.pack()
# 登录按钮
tk.Button(root, text="登录", command=login, width=15).pack(pady=20)
# 结果提示
label_res = tk.Label(root, text="", font=("微软雅黑",12))
label_res.pack()
root.mainloop()
六、常见属性汇总
text:显示文字
font:字体、字号
fg:文字颜色
bg:背景颜色
width/height:宽高
command:绑定点击事件
show="*":密码框隐藏内容
七、全文总结
-
Tkinter 是Python内置GUI库,无需安装,适合桌面小程序开发;
-
固定流程:创建窗口 - 设置属性 - 添加组件 - 布局 - 主循环;
-
常用组件:Label展示文字、Button按钮、Entry输入框;
-
三种布局:pack流式、grid网格、place绝对定位;
-
通过 command 绑定函数,实现GUI交互。
✨ 关注博主,下期进阶:Tkinter实现计算器、记事本完整项目!
更多推荐
所有评论(0)