You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Tkinter运行报错NameError: name 'root' is not defined

错误原因

触发NameError: name 'root' is not defined是因为主窗口实例的创建语法错误:

  • 代码中写的root.Tk()是试图调用未定义变量root的Tk()方法,执行到这一步时root还没有被赋值,所有后续调用root相关属性、方法的代码都会触发名称不存在的错误。
  • Tkinter主窗口的正确创建逻辑是:调用Tk()构造方法生成窗口实例,再把这个实例赋值给root变量。
修复方案

将错误的root.Tk()行替换为root = Tk(),修正后的完整代码如下:

from tkinter import *

# 实例化主窗口并赋值给root变量
root = Tk()
root.title("Hello World")
root.iconbitmap("C:/Users/Ciss/Desktop/Mine/Python/www.ico")

root.mainloop()
补充说明
  • 运行上述代码前请确认指定路径下的www.ico文件真实存在且为合法的ico格式图标文件,否则会触发文件找不到、图标格式不支持的相关报错。
  • 如果路径书写容易出错,可以把图标文件和Python脚本放在同一目录,改用相对路径root.iconbitmap("www.ico")加载即可。

内容的提问来源于stack exchange,提问作者Gavin_XXd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 03:39:25