Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python tkFileDialog中的默认文件类型';s askopenfilename方法_Python_Tkinter - Fatal编程技术网

Python tkFileDialog中的默认文件类型';s askopenfilename方法

Python tkFileDialog中的默认文件类型';s askopenfilename方法,python,tkinter,Python,Tkinter,由于某些原因,默认文件类型会根据我是使用菜单还是使用Ctrl+O热键打开文件对话框而改变。 为什么? 从Tkinter导入* 导入tkFileDialog FILEOPENOPTIONS=dict(defaultextension='.bin', 文件类型=[('Bin file','*.Bin'),('All files','*.')) 类TestGUI(Tk): 定义初始化(自): Tk.\uuuuuu初始(自我) self.title('测试') menu=self.menubar=men

由于某些原因,默认文件类型会根据我是使用菜单还是使用Ctrl+O热键打开文件对话框而改变。 为什么?

从Tkinter导入*
导入tkFileDialog
FILEOPENOPTIONS=dict(defaultextension='.bin',
文件类型=[('Bin file','*.Bin'),('All files','*.'))
类TestGUI(Tk):
定义初始化(自):
Tk.\uuuuuu初始(自我)
self.title('测试')
menu=self.menubar=menu(self)
fmenu=self.filemenu=Menu(Menu,tearoff=0)
menu.add_级联(label='File',underline=0,menu=fmenu)
fmenu.add_命令(label=“Open”,下划线=0,
加速器='Ctrl+O',
命令=self.fopendialog)
self.config(menu=menu)
self.bind_all(“”,self.fopendialog)
def fopendialog(自身,事件=无):
打印报告(tkFileDialog.askopenfilename)(父项=自身,
**FILEOPENOPTIONS)
如果名称=“\uuuuu main\uuuuuuuu”:
test=TestGUI()
test.mainloop()

我也遇到了同样的问题,但我通过将默认文件扩展名放在字典的最后一位来解决了这个问题

像这样:

FILEOPENOPTIONS = dict(defaultextension='.bin',
                  filetypes=[('All files','*.*'), ('Bin file','*.bin')])

请参见上的示例以供参考。

您使用的是什么操作系统?菜单以何种方式更改?Windows 7中,默认选定的文件类型会根据打开文件对话框的方法而更改。就这样。在一种情况下,它将是“所有文件”,而在另一种情况下,它将是“Bin文件”-这两种文件都可以在下拉菜单中使用,只是默认值的问题。是否尝试其他版本的Python?本论坛指出了Python2.4和/或Python2.6中tkFileDialog的另一个bug。你试过Python 2.7甚至3.2吗?我正在运行2.7,但我还没有在3.2中试过,因为我还没有迁移到3.X。我想我会在3.2中尝试一下,我可以通过
askopenfilename
或其他命令浏览远程机器的文件,就像其他信息一样:这不是文档化的东西,所以它可能会根据操作系统/版本而改变。
FILEOPENOPTIONS = dict(defaultextension='.bin',
                  filetypes=[('All files','*.*'), ('Bin file','*.bin')])