2014-03-06 150 views
0

我正在嘗試使用Tkinter並讓用戶選擇某個文件。我的代碼看起來像這樣(我剛開始學習Tkinter的)NameError:名稱'tkFileDialog'未定義

from Tkinter import * 
from tkFileDialog import * 


root = Tk() 

root.wm_title("Pages to PDF") 
root.wm_iconbitmap('icon.ico') 
w = Label(root, text="Please choose a .pages file to convert.") 
y = tkFileDialog.askopenfilename(parent=root) 
y.pack() 
w.pack() 

root.mainloop() 

當我運行程序時,我得到一個錯誤,指出:

NameError: name 'tkFileDialog' is not defined 

我與幾個試了一下我在網上找到的配置。他們都沒有工作;但每次都是相同的基本錯誤。我怎樣才能解決這個問題?

+0

如果使用不正確,我按照正確的用法編輯了下面的答案。 askopenfilename()的結果是一個不是Tkinter對象的字符串。 – Daniel

回答

5

您從tkFileDialog模塊導入的一切,所以你並不需要寫一個模塊名作爲前綴tkFileDialog.askopenfilename(),只是askopenfilename(),如:

from Tkinter import * 
from tkFileDialog import * 
root = Tk() 
root.wm_title("Pages to PDF") 

w = Label(root, text="Please choose a .pages file to convert.") 
fileName = askopenfilename(parent=root) 

w.pack() 
root.mainloop() 
+0

謝謝!我如何使用文件盒的輸出?它輸出的路徑是否會設置爲「y」?謝謝! – evamvid

+0

是的,那麼你可以打開它與打開(...)見http://tkinter.unpythonic.net/wiki/tkFileDialog –

+0

所以在這種情況下,它會'開放(Y)'? – evamvid

1

試試這個:

from Tkinter import * 

import tkFileDialog 

root = Tk() 
root.wm_title("Pages to PDF") 
root.wm_iconbitmap('icon.ico') 
w = Label(root, text="Please choose a .pages file to convert.") 
y = tkFileDialog.askopenfilename(parent=root) 
y.pack() 
w.pack() 
root.mainloop()