本文整理汇总了Python中qgis.gui.QgsEncodingFileDialog.selectedNameFilter方法的典型用法代码示例。如果您正苦于以下问题:Python QgsEncodingFileDialog.selectedNameFilter方法的具体用法?Python QgsEncodingFileDialog.selectedNameFilter怎么用?Python QgsEncodingFileDialog.selectedNameFilter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.gui.QgsEncodingFileDialog
的用法示例。
在下文中一共展示了QgsEncodingFileDialog.selectedNameFilter方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: getDialog
# 需要导入模块: from qgis.gui import QgsEncodingFileDialog [as 别名]
# 或者: from qgis.gui.QgsEncodingFileDialog import selectedNameFilter [as 别名]
def getDialog(
self,
parent=None,
caption="",
acceptMode=QFileDialog.AcceptOpen,
fileMode=QFileDialog.ExistingFile,
filter="",
selectedFilter=None,
useEncoding=False,
):
if useEncoding:
dialog = QgsEncodingFileDialog(parent, caption, getLastUsedDir(), filter, getLastUsedEncoding())
else:
dialog = QFileDialog(parent, caption, getLastUsedDir(), filter)
dialog.setFileMode(fileMode)
dialog.setAcceptMode(acceptMode)
if selectedFilter is not None:
dialog.selectNameFilter(selectedFilter[0])
if not dialog.exec_():
if useEncoding:
return ("", None)
return ""
# change the selected filter value
if selectedFilter is not None:
selectedFilter[0] = dialog.selectedNameFilter()
# save the last used dir and return the selected files
files = dialog.selectedFiles()
if files != "":
setLastUsedDir(files[0])
if fileMode != QFileDialog.ExistingFiles:
files = files[0]
# append the extension if not already present
if fileMode == QFileDialog.AnyFile:
firstExt = None
for ext in FileFilter.getFilterExtensions(dialog.selectedNameFilter()):
if FileFilter.filenameMatchesFilterExt(files, ext):
firstExt = None
break
if firstExt is None:
firstExt = ext
if firstExt is not None:
if firstExt.startswith("*"):
files += firstExt[1:]
if useEncoding:
encoding = dialog.encoding()
# encoding setted yet by QgsEncodingFileDialog
# setLastUsedEncoding(encoding)
return (files, encoding)
return files
示例2: selectFile
# 需要导入模块: from qgis.gui import QgsEncodingFileDialog [as 别名]
# 或者: from qgis.gui.QgsEncodingFileDialog import selectedNameFilter [as 别名]
def selectFile(self):
output = self.alg.parameterDefinition('OUTPUT')
fileFilter = getFileFilter(output)
settings = QgsSettings()
if settings.contains('/Processing/LastOutputPath'):
path = settings.value('/Processing/LastOutputPath')
else:
path = ProcessingConfig.getSetting(ProcessingConfig.OUTPUT_FOLDER)
lastEncoding = settings.value('/Processing/encoding', 'System')
fileDialog = QgsEncodingFileDialog(self,
self.tr('Save file'),
path,
fileFilter,
lastEncoding)
fileDialog.setFileMode(QFileDialog.AnyFile)
fileDialog.setAcceptMode(QFileDialog.AcceptSave)
fileDialog.setOption(QFileDialog.DontConfirmOverwrite, False)
if fileDialog.exec_() == QDialog.Accepted:
files = fileDialog.selectedFiles()
encoding = str(fileDialog.encoding())
output.encoding = encoding
filename = str(files[0])
selectedFileFilter = str(fileDialog.selectedNameFilter())
if not filename.lower().endswith(
tuple(re.findall("\\*(\\.[a-z]{1,10})", fileFilter))):
ext = re.search("\\*(\\.[a-z]{1,10})", selectedFileFilter)
if ext:
filename = filename + ext.group(1)
self.leOutputFile.setText(filename)
settings.setValue('/Processing/LastOutputPath',
os.path.dirname(filename))
settings.setValue('/Processing/encoding', encoding)
示例3: saveToSpatialite
# 需要导入模块: from qgis.gui import QgsEncodingFileDialog [as 别名]
# 或者: from qgis.gui.QgsEncodingFileDialog import selectedNameFilter [as 别名]
def saveToSpatialite(self):
fileFilter = self.tr('SpatiaLite files (*.sqlite)', 'OutputFile')
settings = QgsSettings()
if settings.contains('/Processing/LastOutputPath'):
path = settings.value('/Processing/LastOutputPath')
else:
path = ProcessingConfig.getSetting(ProcessingConfig.OUTPUT_FOLDER)
fileDialog = QgsEncodingFileDialog(
self, self.tr('Save SpatiaLite'), path, fileFilter, self.encoding)
fileDialog.setFileMode(QFileDialog.AnyFile)
fileDialog.setAcceptMode(QFileDialog.AcceptSave)
fileDialog.setOption(QFileDialog.DontConfirmOverwrite, True)
if fileDialog.exec_() == QDialog.Accepted:
self.use_temporary = False
files = fileDialog.selectedFiles()
self.encoding = str(fileDialog.encoding())
fileName = str(files[0])
selectedFileFilter = str(fileDialog.selectedNameFilter())
if not fileName.lower().endswith(
tuple(re.findall("\\*(\\.[a-z]{1,10})", fileFilter))):
ext = re.search("\\*(\\.[a-z]{1,10})", selectedFileFilter)
if ext:
fileName += ext.group(1)
settings.setValue('/Processing/LastOutputPath',
os.path.dirname(fileName))
settings.setValue('/Processing/encoding', self.encoding)
uri = QgsDataSourceUri()
uri.setDatabase(fileName)
uri.setDataSource('', self.parameter.name().lower(),
'the_geom' if isinstance(self.parameter, QgsProcessingParameterFeatureSink) and self.parameter.hasGeometry() else None)
self.leText.setText("spatialite:" + uri.uri())
示例4: selectFile
# 需要导入模块: from qgis.gui import QgsEncodingFileDialog [as 别名]
# 或者: from qgis.gui.QgsEncodingFileDialog import selectedNameFilter [as 别名]
def selectFile(self):
fileFilter = self.output.getFileFilter(self.alg)
settings = QSettings()
if settings.contains("/Processing/LastOutputPath"):
path = settings.value("/Processing/LastOutputPath")
else:
path = ProcessingConfig.getSetting(ProcessingConfig.OUTPUT_FOLDER)
encoding = settings.value("/Processing/encoding", "System")
fileDialog = QgsEncodingFileDialog(self, self.tr("Save file"), path, fileFilter, encoding)
fileDialog.setFileMode(QFileDialog.AnyFile)
fileDialog.setAcceptMode(QFileDialog.AcceptSave)
fileDialog.setConfirmOverwrite(True)
if fileDialog.exec_() == QDialog.Accepted:
files = fileDialog.selectedFiles()
encoding = unicode(fileDialog.encoding())
self.output.encoding = encoding
fileName = unicode(files[0])
selectedFileFilter = unicode(fileDialog.selectedNameFilter())
if not fileName.lower().endswith(tuple(re.findall("\*(\.[a-z]{1,10})", fileFilter))):
ext = re.search("\*(\.[a-z]{1,10})", selectedFileFilter)
if ext:
fileName += ext.group(1)
self.leText.setText(fileName)
settings.setValue("/Processing/LastOutputPath", os.path.dirname(fileName))
settings.setValue("/Processing/encoding", encoding)
示例5: saveToSpatialite
# 需要导入模块: from qgis.gui import QgsEncodingFileDialog [as 别名]
# 或者: from qgis.gui.QgsEncodingFileDialog import selectedNameFilter [as 别名]
def saveToSpatialite(self):
fileFilter = self.output.tr("Spatialite files(*.sqlite)", "OutputFile")
settings = QSettings()
if settings.contains("/Processing/LastOutputPath"):
path = settings.value("/Processing/LastOutputPath")
else:
path = ProcessingConfig.getSetting(ProcessingConfig.OUTPUT_FOLDER)
encoding = settings.value("/Processing/encoding", "System")
fileDialog = QgsEncodingFileDialog(self, self.tr("Save Spatialite"), path, fileFilter, encoding)
fileDialog.setFileMode(QFileDialog.AnyFile)
fileDialog.setAcceptMode(QFileDialog.AcceptSave)
fileDialog.setConfirmOverwrite(False)
if fileDialog.exec_() == QDialog.Accepted:
files = fileDialog.selectedFiles()
encoding = unicode(fileDialog.encoding())
self.output.encoding = encoding
fileName = unicode(files[0])
selectedFileFilter = unicode(fileDialog.selectedNameFilter())
if not fileName.lower().endswith(tuple(re.findall("\*(\.[a-z]{1,10})", fileFilter))):
ext = re.search("\*(\.[a-z]{1,10})", selectedFileFilter)
if ext:
fileName += ext.group(1)
settings.setValue("/Processing/LastOutputPath", os.path.dirname(fileName))
settings.setValue("/Processing/encoding", encoding)
uri = QgsDataSourceUri()
uri.setDatabase(fileName)
uri.setDataSource("", self.output.name.lower(), "the_geom" if self.output.hasGeometry() else None)
self.leText.setText("spatialite:" + uri.uri())