我正在學習做與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