🐸 青蛙编程网
首页 / Python / 桌面客户端 / 1. Tkinter 是什么

1. Tkinter 是什么

这是什么:Tkinter(读作 "Tee-Kay-inter",Tk interface 的缩写)是 Python 标准库自带的图形界面工具箱——不用 pip 装任何东西,import tkinter 就能给你的程序开一扇窗口。

为什么用:前面学的程序都活在终端里,print 出来的文字只有你自己看得懂;想把工具分享给不懂编程的人,得让对方会开命令行,基本等于没分享。GUI(Graphical User Interface,图形用户界面)程序双击就开、点点就能用,而 Tkinter 是 Python 里零安装成本的那一个——这也是本站选它入门 GUI 而不是 PySide6、Flet 的原因:窗口、控件、布局、事件循环这四件事在所有 GUI 框架里是同一套概念,学完 Tkinter 再换大框架只是改 API 名。

如何用:先花十行认识 GUI 程序和终端程序的区别,再用三行代码开出你这辈子第一个窗口。

GUI 程序和终端程序,差在哪

维度 终端程序(前面学的) GUI 程序(这一栈)
启动方式 打开命令行敲 python xxx.py 双击图标(打包后)
输入 键盘敲一行回车 鼠标点按钮、框里打字
输出 print 刷文字 窗口里标签、列表即时变化
程序节奏 从头执行到尾,跑完退出 开完窗口就等,等你操作才动

最后一行是本栈最重要的观念转变:GUI 程序大部分时间不在"执行代码",而在等事件——你点一下按钮,它才跑一次你事先挂好的函数。这个"等"由一个叫 mainloop() 的循环负责,第 2 章马上见到它。

三行开出第一个窗口

把下面三行存成 hello_gui.py,双击运行或在终端跑都行:

import tkinter as tk

root = tk.Tk()
root.mainloop()

你会看到:屏幕中央弹出一个空白小窗口(Windows 是灰白色、macOS 是浅色),带最小化/最大化/关闭按钮,不点关闭它永远不退出——这就是 mainloop() 在等事件。

代码 作用
import tkinter as tk 导入标准库工具箱,约定俗成缩写成 tk
root = tk.Tk() 创建主窗口(root,根窗口),一个程序只建一次
root.mainloop() 进入事件循环:窗口保持打开,你的每次点击/按键被派发给对应函数

顺手辟个谣

网上有些老文章说"tkinter 已从 Python 标准库移除"——不对。Python 3.13 移除的只是 tkinter.tix 这个没人用的子模块,tkinter 本体现在仍在标准库里(官方文档可查),3.15 也在。装官方 Python 就有,Windows/macOS 默认勾选,Linux 发行版可能拆成单独的 python3-tk 包——下一章环境自检教你一条命令验证。

这一栈的路线

第2章 窗口        →  第3章 摆控件      →  第4章 排位置      →  第5章 让它响应
(建窗口/自检)        (按钮/输入框)       (pack/grid)          (事件/变量)
                                                              ↓
第8章 迷你待办清单  ←  第7章 打包exe    ←  第6章 菜单与弹窗  ←──┘
(全栈串一遍)         (发给朋友用)        (像正经软件)

记忆口诀:Tk 三步曲——Tk() 建窗口,往里摆控件,mainloop() 等事件。

动手改

  1. 把 root.mainloop() 注释掉再运行——窗口是不是闪一下就没了?理解"程序没死,只是不等了"
  2. 在 Tk() 之后加一行 root.title("你好,桌面"),看标题栏变了没
  3. 再开一个 tk.Tk() 试试(提示:一个进程里建两个主窗口会打架,这是设计如此)

下一章:环境自检与第一个窗口 🐸

📥 下载本章代码

ZIP 内含本章全部代码文件与说明,解压即用,与教程内容同步生成。