本文整理汇总了Python中qgis.PyQt.QtWidgets.QPlainTextEdit.setPlainText方法的典型用法代码示例。如果您正苦于以下问题:Python QPlainTextEdit.setPlainText方法的具体用法?Python QPlainTextEdit.setPlainText怎么用?Python QPlainTextEdit.setPlainText使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgis.PyQt.QtWidgets.QPlainTextEdit
的用法示例。
在下文中一共展示了QPlainTextEdit.setPlainText方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: createWidget
# 需要导入模块: from qgis.PyQt.QtWidgets import QPlainTextEdit [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QPlainTextEdit import setPlainText [as 别名]
def createWidget(self):
if self.dialogType == DIALOG_STANDARD:
if self.param.multiline:
widget = QPlainTextEdit()
if self.param.default:
widget.setPlainText(self.param.default)
else:
widget = StringInputPanel(self.param)
if self.param.default:
widget.setValue(self.param.default)
elif self.dialogType == DIALOG_BATCH:
widget = QLineEdit()
if self.param.default:
widget.setText(self.param.default)
else:
strings = self.dialog.getAvailableValuesOfType(ParameterString, OutputString)
options = [(self.dialog.resolveValueDescription(s), s) for s in strings]
if self.param.multiline:
widget = MultilineTextPanel(options)
widget.setText(self.param.default or "")
else:
widget = QComboBox()
widget.setEditable(True)
for desc, val in options:
widget.addItem(desc, val)
widget.setEditText(self.param.default or "")
return widget
示例2: ErrorReportDialog
# 需要导入模块: from qgis.PyQt.QtWidgets import QPlainTextEdit [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QPlainTextEdit import setPlainText [as 别名]
class ErrorReportDialog(QDialog):
def __init__(self, title, message, errors, username, parent=None):
QDialog.__init__(self, parent)
self.setWindowTitle(title)
self.verticalLayout = QVBoxLayout(self)
self.label = QLabel(message, self)
self.verticalLayout.addWidget(self.label)
self.plainTextEdit = QPlainTextEdit(self)
self.plainTextEdit.setPlainText(errors)
self.plainTextEdit.setReadOnly(True)
self.verticalLayout.addWidget(self.plainTextEdit)
self.buttonBox = QDialogButtonBox(self)
self.buttonBox.setOrientation(Qt.Horizontal)
self.buttonBox.setStandardButtons(QDialogButtonBox.Close)
self.verticalLayout.addWidget(self.buttonBox)
self.reportButton = self.buttonBox.addButton(self.tr("Report error"), QDialogButtonBox.ActionRole)
self.reportButton.clicked.connect(self.__reportError)
self.buttonBox.accepted.connect(self.accept)
self.buttonBox.rejected.connect(self.reject)
self.username = username
self.metadata = MetaData()
def __reportError(self):
body = ("Please provide any additional information here:\n\n\n"
"If you encountered an upload error, if possible please attach a zip file containing a minimal extract of the dataset, as well as the QGIS project file.\n\n\n"
"Technical information:\n%s\n\n"
"Versions:\n"
" QGIS: %s\n"
" Python: %s\n"
" OS: %s\n"
" QGIS Cloud Plugin: %s\n\n"
"Username: %s\n") % (
self.plainTextEdit.toPlainText(),
Qgis.QGIS_VERSION,
sys.version.replace("\n", " "),
platform.platform(),
self.metadata.version(),
self.username)
url = QUrl()
url.toEncoded("mailto:[email protected]?subject=%s&body=%s" % (
urllib.parse.quote(self.windowTitle()),
urllib.parse.quote(body)),
)
QDesktopServices.openUrl(url)
示例3: MultilineTextPanel
# 需要导入模块: from qgis.PyQt.QtWidgets import QPlainTextEdit [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QPlainTextEdit import setPlainText [as 别名]
class MultilineTextPanel(QWidget):
USE_TEXT = 0
def __init__(self, options, parent=None):
super(MultilineTextPanel, self).__init__(parent)
self.options = options
self.verticalLayout = QVBoxLayout(self)
self.verticalLayout.setSpacing(2)
self.verticalLayout.setMargin(0)
self.combo = QComboBox()
self.combo.addItem(self.tr('[Use text below]'))
for option in options:
self.combo.addItem(option[0], option[1])
self.combo.setSizePolicy(QSizePolicy.Expanding,
QSizePolicy.Expanding)
self.verticalLayout.addWidget(self.combo)
self.textBox = QPlainTextEdit()
self.verticalLayout.addWidget(self.textBox)
self.setLayout(self.verticalLayout)
def setText(self, text):
self.textBox.setPlainText(text)
def getOption(self):
return self.combo.currentIndex()
def getValue(self):
if self.combo.currentIndex() == 0:
return str(self.textBox.toPlainText())
else:
return self.combo.currentData()
def setValue(self, value):
items = [self.combo.itemData(i) for i in range(1, self.combo.count())]
for idx, item in enumerate(items):
if item == value:
self.combo.setCurrentIndex(idx)
return
self.combo.setCurrentIndex(0)
if value:
self.textBox.setPlainText(value)
示例4: GdalParametersPanel
# 需要导入模块: from qgis.PyQt.QtWidgets import QPlainTextEdit [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QPlainTextEdit import setPlainText [as 别名]
class GdalParametersPanel(ParametersPanel):
def __init__(self, parent, alg):
ParametersPanel.__init__(self, parent, alg)
w = QWidget()
layout = QVBoxLayout()
layout.setMargin(0)
layout.setSpacing(6)
label = QLabel()
label.setText(self.tr("GDAL/OGR console call"))
layout.addWidget(label)
self.text = QPlainTextEdit()
self.text.setReadOnly(True)
layout.addWidget(self.text)
w.setLayout(layout)
self.layoutMain.addWidget(w)
self.connectParameterSignals()
self.parametersHaveChanged()
def connectParameterSignals(self):
for wrapper in list(self.wrappers.values()):
w = wrapper.widget
if isinstance(w, QLineEdit):
w.textChanged.connect(self.parametersHaveChanged)
elif isinstance(w, QComboBox):
w.currentIndexChanged.connect(self.parametersHaveChanged)
elif isinstance(w, QCheckBox):
w.stateChanged.connect(self.parametersHaveChanged)
elif isinstance(w, MultipleInputPanel):
w.selectionChanged.connect(self.parametersHaveChanged)
elif isinstance(w, NumberInputPanel):
w.hasChanged.connect(self.parametersHaveChanged)
def parametersHaveChanged(self):
try:
parameters = self.parent.getParamValues()
for output in self.alg.destinationParameterDefinitions():
if parameters[output.name()] is None:
parameters[output.name()] = self.tr("[temporary file]")
commands = self.alg.getConsoleCommands(parameters)
commands = [c for c in commands if c not in ['cmd.exe', '/C ']]
self.text.setPlainText(" ".join(commands))
except AlgorithmDialogBase.InvalidParameterValue as e:
self.text.setPlainText(self.tr("Invalid value for parameter '{0}'").format(e.parameter.description()))
except:
self.text.setPlainText("")
示例5: GdalParametersPanel
# 需要导入模块: from qgis.PyQt.QtWidgets import QPlainTextEdit [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QPlainTextEdit import setPlainText [as 别名]
class GdalParametersPanel(ParametersPanel):
def __init__(self, parent, alg):
ParametersPanel.__init__(self, parent, alg)
w = QWidget()
layout = QVBoxLayout()
layout.setMargin(0)
layout.setSpacing(6)
label = QLabel()
label.setText(self.tr("GDAL/OGR console call"))
layout.addWidget(label)
self.text = QPlainTextEdit()
self.text.setReadOnly(True)
layout.addWidget(self.text)
w.setLayout(layout)
self.layoutMain.addWidget(w)
self.connectParameterSignals()
self.parametersHaveChanged()
def connectParameterSignals(self):
for wrapper in list(self.wrappers.values()):
wrapper.widgetValueHasChanged.connect(self.parametersHaveChanged)
# TODO - remove when all wrappers correctly emit widgetValueHasChanged!
# For compatibility with 3.x API, we need to check whether the wrapper is
# the deprecated WidgetWrapper class. If not, it's the newer
# QgsAbstractProcessingParameterWidgetWrapper class
# TODO QGIS 4.0 - remove
if issubclass(wrapper.__class__, WidgetWrapper):
w = wrapper.widget
else:
w = wrapper.wrappedWidget()
self.connectWidgetChangedSignals(w)
for c in w.findChildren(QWidget):
self.connectWidgetChangedSignals(c)
for output_widget in self.outputWidgets.values():
self.connectWidgetChangedSignals(output_widget)
def connectWidgetChangedSignals(self, w):
if isinstance(w, QLineEdit):
w.textChanged.connect(self.parametersHaveChanged)
elif isinstance(w, QComboBox):
w.currentIndexChanged.connect(self.parametersHaveChanged)
elif isinstance(w, QgsProjectionSelectionWidget):
w.crsChanged.connect(self.parametersHaveChanged)
elif isinstance(w, QCheckBox):
w.stateChanged.connect(self.parametersHaveChanged)
elif isinstance(w, MultipleInputPanel):
w.selectionChanged.connect(self.parametersHaveChanged)
elif isinstance(w, NumberInputPanel):
w.hasChanged.connect(self.parametersHaveChanged)
elif isinstance(w, DestinationSelectionPanel):
w.destinationChanged.connect(self.parametersHaveChanged)
def parametersHaveChanged(self):
context = createContext()
feedback = QgsProcessingFeedback()
try:
parameters = self.parent.getParameterValues()
for output in self.alg.destinationParameterDefinitions():
if not output.name() in parameters or parameters[output.name()] is None:
parameters[output.name()] = self.tr("[temporary file]")
for p in self.alg.parameterDefinitions():
if (not p.name() in parameters and not p.flags() & QgsProcessingParameterDefinition.FlagOptional) \
or (not p.checkValueIsAcceptable(parameters[p.name()])):
# not ready yet
self.text.setPlainText('')
return
commands = self.alg.getConsoleCommands(parameters, context, feedback, executing=False)
commands = [c for c in commands if c not in ['cmd.exe', '/C ']]
self.text.setPlainText(" ".join(commands))
except AlgorithmDialogBase.InvalidParameterValue as e:
self.text.setPlainText(self.tr("Invalid value for parameter '{0}'").format(e.parameter.description()))
except AlgorithmDialogBase.InvalidOutputExtension as e:
self.text.setPlainText(e.message)
示例6: GdalParametersPanel
# 需要导入模块: from qgis.PyQt.QtWidgets import QPlainTextEdit [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QPlainTextEdit import setPlainText [as 别名]
class GdalParametersPanel(ParametersPanel):
def __init__(self, parent, alg):
ParametersPanel.__init__(self, parent, alg)
w = QWidget()
layout = QVBoxLayout()
layout.setMargin(0)
layout.setSpacing(6)
label = QLabel()
label.setText(self.tr("GDAL/OGR console call"))
layout.addWidget(label)
self.text = QPlainTextEdit()
self.text.setReadOnly(True)
layout.addWidget(self.text)
w.setLayout(layout)
self.layoutMain.addWidget(w)
self.connectParameterSignals()
self.parametersHaveChanged()
def connectParameterSignals(self):
for wrapper in list(self.wrappers.values()):
w = wrapper.widget
self.connectWidgetChangedSignals(w)
for c in w.findChildren(QWidget):
self.connectWidgetChangedSignals(c)
def connectWidgetChangedSignals(self, w):
if isinstance(w, QLineEdit):
w.textChanged.connect(self.parametersHaveChanged)
elif isinstance(w, QComboBox):
w.currentIndexChanged.connect(self.parametersHaveChanged)
elif isinstance(w, QgsProjectionSelectionWidget):
w.crsChanged.connect(self.parametersHaveChanged)
elif isinstance(w, QCheckBox):
w.stateChanged.connect(self.parametersHaveChanged)
elif isinstance(w, MultipleInputPanel):
w.selectionChanged.connect(self.parametersHaveChanged)
elif isinstance(w, NumberInputPanel):
w.hasChanged.connect(self.parametersHaveChanged)
def parametersHaveChanged(self):
context = createContext()
feedback = QgsProcessingFeedback()
try:
parameters = self.parent.getParameterValues()
for output in self.alg.destinationParameterDefinitions():
if not output.name() in parameters or parameters[output.name()] is None:
parameters[output.name()] = self.tr("[temporary file]")
for p in self.alg.parameterDefinitions():
if (not p.name() in parameters and not p.flags() & QgsProcessingParameterDefinition.FlagOptional) \
or (not p.checkValueIsAcceptable(parameters[p.name()], context)):
# not ready yet
self.text.setPlainText('')
return
commands = self.alg.getConsoleCommands(parameters, context, feedback, executing=False)
commands = [c for c in commands if c not in ['cmd.exe', '/C ']]
self.text.setPlainText(" ".join(commands))
except AlgorithmDialogBase.InvalidParameterValue as e:
self.text.setPlainText(self.tr("Invalid value for parameter '{0}'").format(e.parameter.description()))
示例7: CommitDialog
# 需要导入模块: from qgis.PyQt.QtWidgets import QPlainTextEdit [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QPlainTextEdit import setPlainText [as 别名]
class CommitDialog(QDialog):
def __init__(self, repo, layername, _message = "", parent = None):
super(CommitDialog, self).__init__(parent)
self.repo = repo
self.branch = None
self.layername = layername
self._message = _message or suggestedMessage
self.message = None
self.initGui()
def initGui(self):
self.setObjectName("CommitDialog")
self.resize(600, 250)
self.setWindowTitle("Syncronize layer to repository branch")
self.verticalLayout = QVBoxLayout()
self.verticalLayout.setSpacing(2)
self.verticalLayout.setMargin(5)
self.branchLabel = QLabel("Branch")
self.verticalLayout.addWidget(self.branchLabel)
self.branchCombo = QComboBox()
self.branches = []
branches = self.repo.branches()
for branch in branches:
trees = self.repo.trees(branch)
if self.layername in trees:
self.branches.append(branch)
self.branchCombo.addItems(self.branches)
try:
idx = self.branches.index("master")
except:
idx = 0
self.branchCombo.setCurrentIndex(idx)
self.verticalLayout.addWidget(self.branchCombo)
self.msgLabel = QLabel("Message to describe this update")
self.verticalLayout.addWidget(self.msgLabel)
self.text = QPlainTextEdit()
self.text.setPlainText(self._message)
self.verticalLayout.addWidget(self.text)
self.buttonBox = QDialogButtonBox(QDialogButtonBox.Ok)
self.verticalLayout.addWidget(self.buttonBox)
self.buttonBox.button(QDialogButtonBox.Ok).setEnabled(bool(self.branches))
self.setLayout(self.verticalLayout)
self.buttonBox.accepted.connect(self.okPressed)
self.text.setFocus()
def okPressed(self):
self.branch = self.branchCombo.currentText()
self.message = self.text.toPlainText() or datetime.now().strftime("%Y-%m-%d %H_%M_%S")
self.close()
示例8: getWidgetFromParameter
# 需要导入模块: from qgis.PyQt.QtWidgets import QPlainTextEdit [as 别名]
# 或者: from qgis.PyQt.QtWidgets.QPlainTextEdit import setPlainText [as 别名]
#.........这里部分代码省略.........
# if already set, put first in list
for i, (name, layer) in enumerate(items):
if layer and layer.source() == param.value:
items.insert(0, items.pop(i))
item = InputLayerSelectorPanel(items, param)
elif isinstance(param, ParameterBoolean):
item = QCheckBox()
if param.default:
item.setChecked(True)
else:
item.setChecked(False)
elif isinstance(param, ParameterTableField) or isinstance(param, ParameterTableMultipleField):
if isinstance(param, ParameterTableMultipleField):
item = ListMultiSelectWidget()
else:
item = QComboBox()
if param.parent in self.dependentItems:
items = self.dependentItems[param.parent]
else:
items = []
self.dependentItems[param.parent] = items
items.append(param)
parent = self.alg.getParameterFromName(param.parent)
if isinstance(parent, ParameterVector):
layers = dataobjects.getVectorLayers(parent.shapetype)
else:
layers = dataobjects.getTables()
if len(layers) > 0:
if param.optional and isinstance(param, ParameterTableField):
item.addItem(self.tr('[not set]'))
item.addItems(self.getFields(layers[0], param.datatype))
elif isinstance(param, ParameterSelection):
item = QComboBox()
item.addItems(param.options)
if param.default:
item.setCurrentIndex(param.default)
elif isinstance(param, ParameterFixedTable):
item = FixedTablePanel(param)
elif isinstance(param, ParameterRange):
item = RangePanel(param)
elif isinstance(param, ParameterFile):
item = FileSelectionPanel(param.isFolder, param.ext)
elif isinstance(param, ParameterMultipleInput):
if param.datatype == ParameterMultipleInput.TYPE_FILE:
item = MultipleInputPanel(datatype=ParameterMultipleInput.TYPE_FILE)
else:
if param.datatype == ParameterMultipleInput.TYPE_RASTER:
options = dataobjects.getRasterLayers(sorting=False)
elif param.datatype == ParameterMultipleInput.TYPE_VECTOR_ANY:
options = dataobjects.getVectorLayers(sorting=False)
else:
options = dataobjects.getVectorLayers([param.datatype], sorting=False)
opts = [self.getExtendedLayerName(opt) for opt in options]
item = MultipleInputPanel(opts)
elif isinstance(param, ParameterNumber):
item = NumberInputPanel(param.default, param.min, param.max,
param.isInteger)
elif isinstance(param, ParameterExtent):
item = ExtentSelectionPanel(self.parent, self.alg, param.default)
elif isinstance(param, ParameterPoint):
item = PointSelectionPanel(self.parent, param.default)
elif isinstance(param, ParameterCrs):
item = CrsSelectionPanel(param.default)
elif isinstance(param, ParameterString):
if param.multiline:
verticalLayout = QVBoxLayout()
verticalLayout.setSizeConstraint(
QLayout.SetDefaultConstraint)
textEdit = QPlainTextEdit()
if param.default:
textEdit.setPlainText(param.default)
verticalLayout.addWidget(textEdit)
item = textEdit
else:
item = QLineEdit()
if param.default:
item.setText(unicode(param.default))
elif isinstance(param, ParameterGeometryPredicate):
item = GeometryPredicateSelectionPanel(param.enabledPredicates)
if param.left:
widget = self.valueItems[param.left]
if isinstance(widget, InputLayerSelectorPanel):
widget = widget.cmbText
widget.currentIndexChanged.connect(item.onLeftLayerChange)
item.leftLayer = widget.itemData(widget.currentIndex())
if param.right:
widget = self.valueItems[param.right]
if isinstance(widget, InputLayerSelectorPanel):
widget = widget.cmbText
widget.currentIndexChanged.connect(item.onRightLayerChange)
item.rightLayer = widget.itemData(widget.currentIndex())
item.updatePredicates()
if param.default:
item.setValue(param.default)
else:
item = QLineEdit()
if param.default:
item.setText(unicode(param.default))
return item