























什么是Tkinter?
Tkinter是Python的标准GUI库——它是构建在Tcl/Tk(一个成熟的跨平台窗口工具包)之上的一个轻量级面向对象层。它随每个标准Python发行版一起提供,无需额外安装。
使用Tkinter,您可以构建窗口、对话框、表单、数据录入工具、可视化图表以及完整的桌面应用程序,而且这些应用只需一套代码即可在Windows、macOS和Linux上运行。
import tkinter as tk
from tkinter import ttk
def greet():
label.config(text=f"Hello, {name.get()}!")
root = tk.Tk()
root.title("Hello Tkinter")
root.geometry("300x120")
name = tk.StringVar()
ttk.Entry(root, textvariable=name).pack(pady=12)
ttk.Button(root, text="Greet", command=greet).pack()
label = ttk.Label(root, text="")
label.pack(pady=8)
root.mainloop()
这段代码是一个经典的 Tkinter 入门示例,创建了一个简单的图形界面应用程序。下面逐部分分析:
import tkinter as tk
from tkinter import ttk
tkinter as tk:导入标准 GUI 库并简写为 tk,包含基础组件(窗口、事件循环等)。from tkinter import ttk:导入 主题化组件库(Themed Tkinter),提供更现代、更美观的控件(如带主题的按钮、输入框等),并自动适配操作系统风格。def greet():
label.config(text=f"Hello, {name.get()}!")
StringVar 变量 name 中获取输入框的内容(name.get())。label.config(text=...) 更新标签的显示文本。root = tk.Tk()
root.title("Hello Tkinter")
root.geometry("300x120")
tk.Tk():创建应用程序的主窗口(根窗口)。title():设置窗口标题。geometry():设置窗口初始大小为 300×120 像素。name = tk.StringVar()
ttk.Entry(root, textvariable=name).pack(pady=12)
ttk.Button(root, text="Greet", command=greet).pack()
label = ttk.Label(root, text="")
label.pack(pady=8)
| 控件 | 说明 |
|---|---|
StringVar() |
Tkinter 的字符串变量,用于双向绑定——输入框内容变化时变量同步更新,反之亦然。 |
ttk.Entry |
单行文本输入框,textvariable=name 将其与 name 变量绑定。 |
ttk.Button |
按钮,text 为显示文字,command=greet 指定点击时调用的函数。 |
ttk.Label |
标签,初始文本为空,后续通过 config() 动态更新。 |
.pack()pady 参数添加垂直方向的外边距(上下各指定像素),让控件之间不拥挤。root.mainloop()
Hello, [输入的名字]!。导入模块
↓
定义 greet() 回调函数
↓
创建根窗口 → 设置标题/大小
↓
创建 StringVar 变量
↓
依次创建并布局:输入框 → 按钮 → 标签
↓
启动 mainloop() 事件循环
pack(),没有使用容器框架,适用于简单布局。grid() 或 place() 布局管理器,或使用 ttk.Frame 作为容器分组。StringVar 还提供了 .set() 方法,可用于程序主动修改输入框或标签的内容。此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。