gpt4 book ai didi

python - 在 Python 中导入 Tkinter 时出现 ImportError

转载 作者:IT老高 更新时间:2023-10-28 20:49:41 25 4
gpt4 key购买 nike

我正在尝试使用带有标准库 Tkinter 的 Python 3.2 测试 GUI 代码,但我无法导入该库。

这是我的测试代码:

from Tkinter import *

root = Tk()
w = Label(root, text="Hello, world!")
w.pack()
root.mainloop()

shell报这个错误:

Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
from Tkinter import *
ImportError: No module named Tkinter

最佳答案

问题的根源在于Tkinter模块在python 2.x中被命名为Tkinter(大写“T”),而tkinter(小写“t”)在 python 3.x 中。

要让您的代码同时在 Python 2 和 3 中运行,您可以执行以下操作:

try:
# for Python2
from Tkinter import *
except ImportError:
# for Python3
from tkinter import *

但是,PEP8关于通配符导入有这样的说法:

Wildcard imports ( from <module> import * ) should be avoided

尽管有无数教程忽略了 PEP8,但符合 PEP8 的导入方式是这样的:

import tkinter as tk

以这种方式导入时,需要在所有tkinter命令前加上tk.(如:root = tk.Tk()等)。这将使您的代码更容易理解,但会花费更多的输入。鉴于 tkinter 和 ttk 经常一起使用并导入具有相同名称的类,这是一件好事。作为Zen of python声明:“显式优于隐式”。

注意:as tk 部分是可选的,但可以让您少输入一些内容:tk.Button(...) vs tkinter.Button (...)

关于python - 在 Python 中导入 Tkinter 时出现 ImportError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7498658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com