我正在学习做与Tkinter的GUI的Python程序,我已经碰到了一堆问题:在OSX山狮使用的Tkinter 8.2
尝试运行from Tkinter import filedialog
我得到ImportError: cannot import name filedialog
。在其他地方,我已经看到它用小写tkinter
(我认为它仅适用于Python 3)调用,但它不认为它存在ImportError: No module named tkinter
。然而,运行from Tkinter import *
的作品,我可以从教程中创建示例hello world。
我唯一的猜测就是它试图使用随OSX提供的Tkinter的过时版本。然而,考虑到新的狮子山是多么的新奇,我不得不怀疑它真的会过时多久。我的假设是,自己安装Python 2.7后,如果我从IDLE运行,它应该可以工作,但是我可以从IDLE shell得到完全相同的结果。
所以之后,我尝试sudo pip install tkinter
和sudo pip install Tkinter
从UNIX终端,但我回来No distributions at all found for update
所以我开始寻找到关于Tkinter的一些文档,我遇到Tcl/Tk instructions for Mac OS X其中规定:
重要提示:如果您使用的是Mac OS X 10.8,10.7或10.6,则仅在安装了ActiveTcl 8.5的情况下,才能使用来自64位/ 32位Python安装程序的IDLE或tkinter。如果您无法安装ActiveTcl 8.5,请改为使用32位安装程序。
所以我觉得我在他们提供的表格OS,看到他们推荐ActiveTcl8.5.11,但不幸的是,download link is broken.
所以我在这里的损失完全是。任何帮助,将不胜感激。
谢谢,我能得到的东西的工作,但我真的不明白。我在看[这个问题](http://stackoverflow.com/questions/9239514/filedialog-tkinter-and-opening-files),其中使用了filedialog,好像它是tkinter本身的一部分。 –
他们似乎已经对Pyton 3中的Tkinter进行了更改,例如将它们全部设置为小写字母,并将tkinter模块的tkfiledialog部分制作成tkinter模块。这是造成混乱的原因。我仍然使用2.x :) – Bharat