我见过this question解释了如何限制gtk FileChooserDialog以便只允许目录。
我想进一步限制,以便只允许名称与特定模式匹配的目录。我尝试使用gtk.FileFilter()
,但它不起作用:
self.logFileBrowseDialog = gtk.FileChooserDialog(title="Select Log Directory",
action=gtk.FILE_CHOOSER_ACTION_SAVE,
buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,
gtk.STOCK_OPEN,gtk.RESPONSE_OK))
self.logFileBrowseDialog.set_current_folder('/path/to/default/log/dir');
logDirFilter = gtk.FileFilter()
logDirFilter.set_name("Log Directory")
logDirFilter.add_pattern("[0-1][0-9]-[0-3][0-9]-[0-9][0-9][0-9][0-9]-[0-2][0-9]-[0-5][0-9]-[0-5][0-9].[0-9][0-9][0-9]_GMT_Logs")
self.logFileBrowseDialog.add_filter(logDirFilter)
self.logFileBrowseDialog.set_action(gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER)
是否可以只允许某个名称的目录?我意识到用户仍然需要一种方法来从非允许目录导航到允许目录。理想情况下,如果当前位置不符合名称标准,则会禁用“打开”按钮。