【问题标题】:Using tkinter with ibPy将 tkinter 与 ibPy 一起使用
【发布时间】:2014-08-04 11:53:04
【问题描述】:

我正在尝试将 tkinter 与 ibPy 一起使用。我正在使用 Spyder (Spyder 2.3.0)。当我进入示例程序时

from tkinter import *
root = Tk()

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

root.mainloop()

我收到消息:

  File "/Users/Ameade/Tkinter.py", line 8, in <module>
    from tkinter import *

ImportError: No module named tkinter

你知道我在哪里可以得到这个模块吗?我正在使用 Mac (OSX 10.9.4)。

【问题讨论】:

  • 您使用的是哪个版本的 Python?有些版本使用小写tkinter,有些使用大写Tkinter。 (如果您需要大写版本,您可能应该将自己的文件名从 Tkinter.py 更改为其他名称。)
  • 这就是 Spyder 在关于... Spyder 2.3.0 The Scientific PYthon Development EnviRonment 中所说的

标签: python macos tkinter


【解决方案1】:

您似乎将示例程序文件命名为Tkinter.py。您应该将此名称更改为其他名称,它应该可以工作。

编辑 正如Kevin 所说,为文件指定任何其他名称,但不要指定python 模块的名称(扩展名必须保持为.py),因此您可以将其命名为my_amazing_program.py。并保持文件的内容与您最初发布的内容相同 - 如果您使用的是 python 3+:

from tkinter import *
root = Tk()

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

root.mainloop()

如果您使用的是 python 2+,请将导入行上的 tkinter 更改为 Tkinter

from Tkinter import *
root = Tk()

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

root.mainloop()

【讨论】:

  • 你能告诉我我应该给它取什么名字(包括扩展名)吗?谢谢。
  • 我把代码改成: from Tkinter import * root = tk() w = Label(root, text="Hello, world!") w.pack() root.mainloop() 现在错误是:文件“Tkinter.py”,第 9 行,在 root = tk() NameError: name 'tk' is not defined
  • “你能告诉我我应该给它起什么名字吗?” 任何以 .py 结尾的东西,还没有被现有模块占用。我推荐my_amazing_script.py
  • 谢谢。我这样做并尝试运行。这就是我得到的:文件“/Users/Ameade/.spyder2/My_Amazing_Script.py”,第 9 行,在 root = tk() NameError: name 'tk' is not defined p.s.你如何为这些 cmets 添加回车符?我试过 Shift+Enter 但没有骰子。
  • 你也可以在 cmets 中使用Markdown
【解决方案2】:

您可能需要检查您正在使用的 python 版本。

import tkinter 适用于 python 3(而不是 Tkinter)

【讨论】:

猜你喜欢
  • 2015-11-27
  • 2020-02-12
  • 1970-01-01
  • 2016-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-29
相关资源
最近更新 更多