簡體   English   中英

tkFileDialog的askopenfilename方法中的默認文件類型

[英]Default file type in tkFileDialog's askopenfilename method

出於某種原因,默認文件類型會根據我是使用菜單打開文件對話框還是使用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()

我有同樣的問題,但我通過將默認文件擴展名放在字典的最后來修復它。

像這樣:

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

請參閱此頁面上的示例以供參考。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM