一、什么是 Tkinter?

Tkinter 是 Python 标准内置的图形用户界面(GUI)库。

可以用来开发:桌面窗口、按钮、输入框、弹窗、小游戏、可视化工具等。

相比于 PyQt、wxPython,Tkinter 轻量、简单、零配置,是Python新手GUI入门首选。

环境说明

Python3.x 自带,无需安装,直接导入即可

import tkinter

二、Tkinter 固定开发模板(必背)

所有 Tkinter 程序都遵循这套固定结构:

  1. 创建主窗口

运行后弹出一个空白桌面窗口,代表 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="*":密码框隐藏内容

七、全文总结

  1. Tkinter 是Python内置GUI库,无需安装,适合桌面小程序开发;

  2. 固定流程:创建窗口 - 设置属性 - 添加组件 - 布局 - 主循环;

  3. 常用组件:Label展示文字、Button按钮、Entry输入框;

  4. 三种布局:pack流式、grid网格、place绝对定位;

  5. 通过 command 绑定函数,实现GUI交互。

✨ 关注博主,下期进阶:Tkinter实现计算器、记事本完整项目!

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐