Я использую tkinters' askopenfilename с горсткой предопределенных типов файлов:Получить вокруг tkinters' проверка askopenfilename Filetype
tkinter.filedialog.askopenfilename(parent=self,
title=_("Select Attachment"),
multiple=False,
initialdir=initialdir,
filetypes=filetypes)
типы файлов включают 'PNG', 'JPG', '' BMP, ...
filedialog будет показывать только файлы указанного типа, как я ожидал. Но когда я набираю имя файла, он просто примет его, независимо от того, какой тип он есть.
Это ошибка tkinter? Ожидается ли поведение? Мне нужно обходное решение или я могу изменить поведение askopenfilenames?
Конечно, пользователь может обмануть, переименовав его. Просто некрасиво иметь другое поведение, когда файл не существует (обрабатывается из askopenfilename) или когда заданный тип файла является неожиданным (обрабатывается из моего кода). Разница очевидна ... с одной стороны, askopenfilename остается открытым, ожидая нового имени файла, с другой стороны, askopenfilename закрывается и снова открывается после недопустимого имени файла. – Sam
Я никогда не понимал, что это предполагаемое поведение для каждого диалогового окна файла. – Sam