🐸 青蛙编程网
首页 / Python / 桌面客户端 / 2. 环境自检与第一个窗口

2. 环境自检与第一个窗口

这是什么:环境自检就是用一条命令确认你的 Python 真的带 Tkinter;第一个窗口则是学会给窗口起标题、定大小、往里放文字。

为什么用:Tkinter 虽然零安装,但各系统给的程度不一样——Windows/macOS 官方安装包默认带全,Linux 很多发行版把它拆成单独的包,装了 Python 也可能缺。先花两分钟自检,能避免后面每章都卡在 ModuleNotFoundError 上排查半天。

如何用:先跑 python -m tkinter 验货,缺了就补装;然后写一个带标题、尺寸、标签的正式小窗口。

一条命令自检

python -m tkinter

你会看到:弹出一个信息小窗,写着 This is Tcl/Tk version 8.6.x——看到它说明一切就绪(本站版本基线:Python 3.15 + Tcl/Tk 8.6,2026-10 核对)。

报 ModuleNotFoundError: No module named 'tkinter' 的,按系统补装:

系统 补装方法
Windows / macOS 重装官方 Python(python.org 下载),安装时勾选 tcl/tk;用微软商店版 Python 常缺,建议换官方安装包
Ubuntu / Debian sudo apt install python3-tk
Fedora / CentOS sudo dnf install python3-tkinter
Arch sudo pacman -S tk
macOS Homebrew 版 Python brew install python-tk

Windows 用户注意:如果 python 命令本身不存在,试试 py -m tkinter——py 是官方安装器自带的启动器。

给窗口立规矩

自检过了,写一个正经的第一窗:

import tkinter as tk

root = tk.Tk()
root.title("我的第一个桌面程序")
root.geometry("320x200")
root.resizable(False, False)

label = tk.Label(root, text="你好,桌面程序!")
label.pack()

root.mainloop()

你会看到:一个 320×200 的小窗口出现在屏幕中央,标题栏显示"我的第一个桌面程序",窗口正中间一行黑字"你好,桌面程序!",最大化按钮是灰的(点不动)。

代码 作用
root.title("...") 设置标题栏文字
root.geometry("宽x高") 设置初始尺寸,注意是小写 x,不是乘号 × 也不是空格
root.resizable(False, False) 禁止拖大拖小(第一个参数管宽,第二个管高)
tk.Label(root, text="...") 创建一个标签(只读文字控件),第一个参数说明它放在哪个窗口里
label.pack() 把标签"放"进窗口——不放这一行,控件存在但看不见,新手头号大坑

事件循环到底在干嘛

把 mainloop() 想成餐厅服务员:菜(你的控件)已经摆上桌,服务员不会自己去吃,而是站在旁边等你点单。你每点一次按钮、敲一次键,她就跑一趟厨房(调用你注册的函数),回来继续站岗。程序退出时点单结束——所以你几乎永远不会"跑完"一个 GUI 程序,都是点关闭按钮杀出来的。

这也是 GUI 教程和前面章节最大的体验差别:代码跑没跑对,要用眼睛看窗口,不是看终端输出。本站的在线运行场跑不了 Tkinter(沙箱里没有显示器,也打不开窗口),从这一章起,每章代码都要复制到你自己的电脑上运行。

记忆口诀:title 管名字,geometry 管身材,resizable 管能不能捏,pack 不上台、控件就隐身。

动手改

  1. 把 label.pack() 注释掉运行——窗口一片空白,但程序没报错;再放回来,理解"创建"和"摆放"是两回事
  2. 把 geometry("320x200") 改成 geometry("600x100"),再试 geometry("+100+400")——后面这种是设置窗口出现的位置
  3. 往窗口里再 pack 一个 Label,显示你的名字——两个标签会竖着排,第 4 章讲怎么让它们横着排、想排哪排哪

下一章:常用控件:按钮、输入框、标签 🐸

📥 下载本章代码

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