的官方文檔中沒有提到它,但如果你想帶或不帶擴展名的文件,你需要改變:
askopenfilename(filetypes=[("All files", "*.*")])
要:
askopenfilename(filetypes=[("All files", "*")])
證明:
下面是一個簡單的代碼來演示上述說明:
from Tkinter import *
import tkFileDialog
f_options = dict(filetypes=[('All files','*')])
class Begueradj(Tk):
def __init__(self):
Tk.__init__(self)
self.title('Begueradj Test All Files')
menu = self.menubar = Menu(self)
fmenu = self.filemenu = Menu(menu, tearoff=0)
menu.add_cascade(label='File', underline=0, menu=fmenu)
fmenu.add_command(label="Open", underline=0,
accelerator='Ctrl+O',
command=self.fopendialog)
self.config(menu=menu)
self.bind_all('<Control-o>', self.fopendialog)
def fopendialog(self, event=None):
print repr(tkFileDialog.askopenfilename(parent=self,
**f_options))
if __name__ == "__main__":
test = Begueradj()
test.mainloop()
演示:
這裏是上述程序的截圖:
非常感謝您的詳細解釋。 –