def getOpenFileNames(_caption, _directory, _filter, _isUseLastPathKeyType=1, _lastPathKey=None): pathKey = uni.getLastPathKey(_caption, _directory, _filter, _isUseLastPathKeyType, _lastPathKey) if pathKey is not None: _directory = uni.getLastPathByEvent(pathKey, _directory) filePaths = QFileDialog.getOpenFileNames(getActiveWindow(), str(_caption), str(_directory), str(_filter)) if not filePaths: return None if pathKey is not None: uni.setLastPathByEvent(pathKey, str(filePaths[-1])) return list(filePaths)
def getExistingDirectory(_caption, _directory, _isUseLastPathKeyType=1, _lastPathKey=None): pathKey = uni.getLastPathKey(_caption, _directory, "", _isUseLastPathKeyType, _lastPathKey) if pathKey is not None: _directory = uni.getLastPathByEvent(pathKey, _directory) filePath = QFileDialog.getExistingDirectory(getActiveWindow(), str(_caption), str(_directory)) if filePath == "": return None if pathKey is not None: uni.setLastPathByEvent(pathKey, str(filePath)) return str(filePath)
def getSaveFileName(_caption, _directory, _filter=None, _isUseLastPathKeyType=1, _lastPathKey=None): if _filter is None: if fu.isFile(_directory): fileExt = fu.getFileExtension(_directory) if fileExt != "": _filter = "*.%s (*.%s)" % (fileExt, fileExt) else: _filter = "*.* (*.*)" else: _filter = "*.* (*.*)" pathKey = uni.getLastPathKey(_caption, _directory, _filter, _isUseLastPathKeyType, _lastPathKey) if pathKey is not None: _directory = uni.getLastPathByEvent(pathKey, _directory) filePath = QFileDialog.getSaveFileName(getActiveWindow(), str(_caption), str(_directory), str(_filter)) if filePath == "": return None if pathKey is not None: uni.setLastPathByEvent(pathKey, str(filePath)) return str(filePath)