由于某种原因,默认文件类型会根据我是使用菜单打开文件对话框还是使用Ctrl + O热键来更改。 为什么呢?
from Tkinter import *
import tkFileDialog
FILEOPENOPTIONS = dict(defaultextension='.bin',
filetypes=[('Bin file','*.bin'), ('All files','*.*')])
class TestGUI(Tk):
def __init__(self):
Tk.__init__(self)
self.title('Test')
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,
**FILEOPENOPTIONS))
if __name__ == "__main__":
test = TestGUI()
test.mainloop()
答案 0 :(得分:4)
我有同样的问题,但我通过将默认文件扩展名放在字典的最后来修复它。
像这样:
FILEOPENOPTIONS = dict(defaultextension='.bin',
filetypes=[('All files','*.*'), ('Bin file','*.bin')])
请参阅this page上的示例以供参考。