2012-12-22 58 views
2

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

所以我在這裏的損失完全是。任何幫助,將不勝感激。

回答

3

如果你想實現一個文件對話框,看看tkFileDialog。它是不是Tkinter模塊的一部分的獨立模塊&。

您可以通過直接將其導入使用它:

import tkFileDialog 
+0

謝謝,我能得到的東西的工作,但我真的不明白。我在看[這個問題](http://stackoverflow.com/questions/9239514/filedialog-tkinter-and-opening-files),其中使用了filedialog,好像它是tkinter本身的一部分。 –

+2

他們似乎已經對Pyton 3中的Tkinter進行了更改,例如將它們全部設置爲小寫字母,並將tkinter模塊的tkfiledialog部分製作成tkinter模塊。這是造成混亂的原因。我仍然使用2.x :) – Bharat