模块“tkinter”没有属性“Tk”。

5

Tkinter不包含任何tk属性。

import tkinter

window = tkinter.Tk()

win.mainloop()

运行此代码时,它会给我一个错误提示:

module 'tkinter' has no attribute 'Tk'

3
可能是[AttributeError: module 'tkinter' has no attribute 'tk']的重复问题。 - Andrew McGrail
3
你是否将文件命名为 "tkinter.py"?这可能是 https://stackoverflow.com/q/46477882/7432 的重复问题。 - Bryan Oakley
8个回答

53

你是否将你的Python文件命名为tkinter.py或Tkinter.py?试着重新命名它。这可能是原因。

如果程序中文件名为tkinter.py

导入tkinter

它会导入我们的文件名,这覆盖了Tk()模块的内容,因此它会抛出错误。


1
非常感谢。我把我的Python文件从“Tkinter.py”重命名为任何你想要的名称后,问题得到了解决。非常感谢。 - Shubham Verma
2
很棒的答案,那真的是我最后想到的事情。 - Tls Chris

2
在我的情况下,错误发生在top =tk.Tk()。 我使用的简单技巧是将'TK'中的大写K改为小写k。
import tkinter as tk
import tkinter.filedialog as fd
from tkinter import *
import PIL
from PIL import ImageTk
from PIL import Image
top =tk.Tk()
top.geometry('800x600')
top.title('Image Processing')
top.configure(background='#CDCDCD')

1
import tkinter

raiz= tkinter.Tk()

raiz.mainloop()

记住,文件名不能为tkinter.py


1
代码无用,但文件名提示很好。下次请回答更清晰明了。 - max

1
Python 3.x
import tkinter

window = tkinter.Tk()

window.mainloop()

0

尝试使用Tk而不是tk,如果您认为导入错误,请尝试:

import tkinter
tkinter._test()

0

尝试将文件复制到 C 盘的 Python 路径中(在我的情况下)

而且该文件夹不应包含任何其他名为 Tkinter.py 或类似的文件 点击此处获取代码


0

它是大写的'T'和小写的'k' =>> 'Tk' 不是大写的K,请确保,这是一个小错误


1
这与其他答案有何不同? - Delrius Euphoria

0
你的Python脚本名称不能是tkinker.py,否则Python可能会将你的脚本视为tkinker并返回错误。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接