当前位置: 首页>>代码示例>>Python>>正文


Python gui.QgsFieldExpressionWidget类代码示例

本文整理汇总了Python中qgis.gui.QgsFieldExpressionWidget的典型用法代码示例。如果您正苦于以下问题:Python QgsFieldExpressionWidget类的具体用法?Python QgsFieldExpressionWidget怎么用?Python QgsFieldExpressionWidget使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了QgsFieldExpressionWidget类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: createEditor

 def createEditor(self, parent, option, index):
     editor = QgsFieldExpressionWidget(parent)
     editor.setLayer(index.model().layer())
     editor.registerExpressionContextGenerator(index.model().contextGenerator())
     editor.fieldChanged.connect(self.on_expression_fieldChange)
     editor.setAutoFillBackground(True)
     editor.setAllowEvalErrors(self.parent().dialogType == DIALOG_MODELER)
     return editor
开发者ID:raymondnijssen,项目名称:QGIS,代码行数:8,代码来源:FieldsMappingPanel.py

示例2: createEditor

 def createEditor(self, parent, option, index):
     editor = QgsFieldExpressionWidget(parent)
     editor.setLayer(index.model().layer())
     editor.registerExpressionContextGenerator(index.model().contextGenerator())
     editor.fieldChanged.connect(self.on_expression_fieldChange)
     editor.setAutoFillBackground(True)
     return editor
开发者ID:minorua,项目名称:QGIS,代码行数:7,代码来源:FieldsMappingPanel.py

示例3: createEditor

    def createEditor(self, parent, option, index):
        column = index.column()

        fieldType = FieldsMappingModel.columns[column]['type']
        if fieldType == QtCore.QVariant.Type:
            editor = QtGui.QComboBox(parent)
            for key, text in FieldsMappingModel.fieldTypes.iteritems():
                editor.addItem(text, key)

        elif fieldType == QgsExpression:
            editor = QgsFieldExpressionWidget(parent)
            editor.setLayer(index.model().layer())
            # editor.fieldChanged.connect(self.on_expression_fieldChange)

        else:
            editor = QtGui.QStyledItemDelegate.createEditor(self, parent, option, index)

        editor.setAutoFillBackground(True)
        return editor
开发者ID:Ariki,项目名称:QGIS,代码行数:19,代码来源:FieldsMappingPanel.py

示例4: addExpressionWidget

    def addExpressionWidget(self):
        hor = QtGui.QHBoxLayout()
        fieldExp = QgsFieldExpressionWidget()
        combo = QtGui.QComboBox()
        hor.addWidget(combo)
        self.combos.append(combo)
        hor.addWidget(fieldExp)
        del_btn = QtGui.QPushButton(self.tr("Delete"))
        hor.addWidget(del_btn)
        self.dels.append(del_btn)
        self.verticalLayout.addLayout(hor)
        self.exps.append(fieldExp)
        self.hors.append(hor)
        if self.slave is not None:
            self.updateComboBoxFromLayerAttributes(combo, self.slave.fields())
        if self.master is not None:
            fieldExp.setLayer(self.master)

        del_btn.clicked.connect(self.removeExpressionWidget)
开发者ID:opengisch,项目名称:shpsync,代码行数:19,代码来源:shpsync_dialog.py

示例5: __init__

    def __init__(self, dialog):
        super(ExecuteSQLWidget, self).__init__(None)
        self.setupUi(self)
        self.dialog = dialog
        self.dialogType = dialogTypes[dialog.__class__.__name__]

        self.mExpressionWidget = QgsFieldExpressionWidget()

        # add model parameters in context scope if called from modeler
        if self.dialogType == DIALOG_MODELER:
            strings = dialog.getAvailableValuesOfType(
                [QgsProcessingParameterString, QgsProcessingParameterNumber], [])
            model_params = [dialog.resolveValueDescription(s) for s in strings]

            scope = QgsExpressionContextScope()
            for param in model_params:
                var = QgsExpressionContextScope.StaticVariable(param)
                scope.addVariable(var)

            self.mExpressionWidget.appendScope(scope)

        self.mHLayout.insertWidget(0, self.mExpressionWidget)

        self.mInsert.clicked.connect(self.insert)
开发者ID:mbernasocchi,项目名称:QGIS,代码行数:24,代码来源:ExecuteSQLWidget.py

示例6: createWidget

 def createWidget(self):
     if self.dialogType in (DIALOG_STANDARD, DIALOG_BATCH):
         if self.param.parent_layer:
             widget = QgsFieldExpressionWidget()
         else:
             widget = QgsExpressionLineEdit()
         if self.param.default:
             widget.setExpression(self.param.default)
     else:
         strings = self.dialog.getAvailableValuesOfType([ParameterExpression, ParameterString, ParameterNumber], OutputString)
         options = [(self.dialog.resolveValueDescription(s), s) for s in strings]
         widget = QComboBox()
         widget.setEditable(True)
         for desc, val in options:
             widget.addItem(desc, val)
         widget.setEditText(self.param.default or "")
     return widget
开发者ID:,项目名称:,代码行数:17,代码来源:

示例7: ExecuteSQLWidget

class ExecuteSQLWidget(BASE, WIDGET):

    def __init__(self, dialog):
        super(ExecuteSQLWidget, self).__init__(None)
        self.setupUi(self)
        self.dialog = dialog
        self.dialogType = dialogTypes[dialog.__class__.__name__]

        self.mExpressionWidget = QgsFieldExpressionWidget()

        # add model parameters in context scope if called from modeler
        if self.dialogType == DIALOG_MODELER:
            strings = dialog.getAvailableValuesOfType(
                [QgsProcessingParameterString, QgsProcessingParameterNumber], [])
            model_params = [dialog.resolveValueDescription(s) for s in strings]

            scope = QgsExpressionContextScope()
            for param in model_params:
                var = QgsExpressionContextScope.StaticVariable(param)
                scope.addVariable(var)

            self.mExpressionWidget.appendScope(scope)

        self.mHLayout.insertWidget(0, self.mExpressionWidget)

        self.mInsert.clicked.connect(self.insert)

    def insert(self):
        if self.mExpressionWidget.currentText():
            exp = '[%{}%]'.format(self.mExpressionWidget.currentText())
            self.mText.insertPlainText(exp)

    def setValue(self, value):
        text = value

        if self.dialogType == DIALOG_MODELER:
            if isinstance(value, list):
                for v in value:
                    if isinstance(v, QgsProcessingModelChildParameterSource) \
                            and v.source() == QgsProcessingModelChildParameterSource.ExpressionText:
                        text = v.expressionText()

                        # replace parameter's name by expression (diverging after model save)
                        names = QgsExpression.referencedVariables(text)

                        strings = self.dialog.getAvailableValuesOfType(
                            [QgsProcessingParameterString, QgsProcessingParameterNumber], [])
                        model_params = [(self.dialog.resolveValueDescription(s), s) for s in strings]

                        for k, v in model_params:
                            if v.parameterName() in names:
                                text = text.replace('[% @{} %]'.format(v.parameterName()), '[% @{} %]'.format(k))

        self.mText.setPlainText(text)

    def value(self):
        value = self.mText.toPlainText()

        if self.dialogType == DIALOG_MODELER:
            expression_values = self._expressionValues(value)
            if len(expression_values) > 1:
                value = expression_values

        return value

    def _expressionValues(self, text):
        strings = self.dialog.getAvailableValuesOfType(
            [QgsProcessingParameterString, QgsProcessingParameterNumber], [])
        model_params = [(self.dialog.resolveValueDescription(s), s) for s in strings]

        variables = QgsExpression.referencedVariables(text)

        # replace description by parameter's name (diverging after model save)
        descriptions = QgsExpression.referencedVariables(text)

        for k, v in model_params:
            if k in descriptions:
                text = text.replace('[% @{} %]'.format(k), '[% @{} %]'.format(v.parameterName()))

        src = QgsProcessingModelChildParameterSource.fromExpressionText(text)

        # add parameters currently used by the expression
        expression_values = []
        expression_values.append(src)

        for k, v in model_params:
            if k in variables:
                expression_values.append(v)

        return expression_values
开发者ID:mbernasocchi,项目名称:QGIS,代码行数:90,代码来源:ExecuteSQLWidget.py

示例8: setupUi

    def setupUi(self, changeDataSourceDialogBase):
        changeDataSourceDialogBase.setObjectName(_fromUtf8("changeDataSourceDialogBase"))
        changeDataSourceDialogBase.resize(1027, 461)
        self.verticalLayout = QtGui.QVBoxLayout(changeDataSourceDialogBase)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.layerTable = QtGui.QTableWidget(changeDataSourceDialogBase)
        self.layerTable.setAlternatingRowColors(True)
        self.layerTable.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
        self.layerTable.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
        self.layerTable.setGridStyle(QtCore.Qt.DotLine)
        self.layerTable.setObjectName(_fromUtf8("layerTable"))
        self.layerTable.setColumnCount(0)
        self.layerTable.setRowCount(0)
        self.layerTable.horizontalHeader().setHighlightSections(False)
        self.layerTable.horizontalHeader().setSortIndicatorShown(True)
        self.layerTable.verticalHeader().setVisible(True)
        self.verticalLayout.addWidget(self.layerTable)
        self.horizontalLayout = QtGui.QHBoxLayout()
        self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
        self.label = QtGui.QLabel(changeDataSourceDialogBase)
        self.label.setObjectName(_fromUtf8("label"))
        self.horizontalLayout.addWidget(self.label)
        self.findEdit = QtGui.QLineEdit(changeDataSourceDialogBase)
        self.findEdit.setMaximumSize(QtCore.QSize(100, 16777215))
        self.findEdit.setObjectName(_fromUtf8("findEdit"))
        self.horizontalLayout.addWidget(self.findEdit)
        self.label_2 = QtGui.QLabel(changeDataSourceDialogBase)
        self.label_2.setObjectName(_fromUtf8("label_2"))
        self.horizontalLayout.addWidget(self.label_2)
        self.replaceEdit = QtGui.QLineEdit(changeDataSourceDialogBase)
        self.replaceEdit.setMaximumSize(QtCore.QSize(100, 16777215))
        self.replaceEdit.setObjectName(_fromUtf8("replaceEdit"))
        self.horizontalLayout.addWidget(self.replaceEdit)
        self.label_4 = QtGui.QLabel(changeDataSourceDialogBase)
        self.label_4.setObjectName(_fromUtf8("label_4"))
        self.horizontalLayout.addWidget(self.label_4)
        self.mFieldExpressionWidget = QgsFieldExpressionWidget(changeDataSourceDialogBase)
        self.mFieldExpressionWidget.setObjectName(_fromUtf8("mFieldExpressionWidget"))
        self.horizontalLayout.addWidget(self.mFieldExpressionWidget)
        self.label_3 = QtGui.QLabel(changeDataSourceDialogBase)
        self.label_3.setObjectName(_fromUtf8("label_3"))
        self.horizontalLayout.addWidget(self.label_3)
        self.datasourceCombo = QtGui.QComboBox(changeDataSourceDialogBase)
        self.datasourceCombo.setObjectName(_fromUtf8("datasourceCombo"))
        self.horizontalLayout.addWidget(self.datasourceCombo)
        self.onlySelectedCheck = QtGui.QCheckBox(changeDataSourceDialogBase)
        self.onlySelectedCheck.setObjectName(_fromUtf8("onlySelectedCheck"))
        self.horizontalLayout.addWidget(self.onlySelectedCheck)
        self.replaceButton = QtGui.QPushButton(changeDataSourceDialogBase)
        self.replaceButton.setObjectName(_fromUtf8("replaceButton"))
        self.horizontalLayout.addWidget(self.replaceButton)
        self.verticalLayout.addLayout(self.horizontalLayout)
        self.horizontalLayout_2 = QtGui.QHBoxLayout()
        self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
        spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
        self.horizontalLayout_2.addItem(spacerItem)
        self.handleBadLayersCheckbox = QtGui.QCheckBox(changeDataSourceDialogBase)
        self.handleBadLayersCheckbox.setObjectName(_fromUtf8("handleBadLayersCheckbox"))
        self.horizontalLayout_2.addWidget(self.handleBadLayersCheckbox)
        self.reconcileButton = QtGui.QPushButton(changeDataSourceDialogBase)
        self.reconcileButton.setObjectName(_fromUtf8("reconcileButton"))
        self.horizontalLayout_2.addWidget(self.reconcileButton)
        self.buttonBox = QtGui.QDialogButtonBox(changeDataSourceDialogBase)
        sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.buttonBox.sizePolicy().hasHeightForWidth())
        self.buttonBox.setSizePolicy(sizePolicy)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Apply|QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Reset)
        self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
        self.horizontalLayout_2.addWidget(self.buttonBox)
        self.verticalLayout.addLayout(self.horizontalLayout_2)

        self.retranslateUi(changeDataSourceDialogBase)
        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), changeDataSourceDialogBase.accept)
        QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), changeDataSourceDialogBase.reject)
        QtCore.QMetaObject.connectSlotsByName(changeDataSourceDialogBase)
开发者ID:enricofer,项目名称:changeDataSource,代码行数:78,代码来源:changeDataSource_dialog_base.py

示例9: setupUi

    def setupUi(self, ContourDialog):
        ContourDialog.setObjectName("ContourDialog")
        ContourDialog.setWindowModality(QtCore.Qt.NonModal)
        ContourDialog.resize(655, 742)
        ContourDialog.setSizeGripEnabled(True)
        self.verticalLayout = QtWidgets.QVBoxLayout(ContourDialog)
        self.verticalLayout.setObjectName("verticalLayout")
        self.scrollArea_2 = QtWidgets.QScrollArea(ContourDialog)
        self.scrollArea_2.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAlwaysOff)
        self.scrollArea_2.setWidgetResizable(True)
        self.scrollArea_2.setObjectName("scrollArea_2")
        self.scrollAreaWidgetContents_2 = QtWidgets.QWidget()
        self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 641, 654))
        self.scrollAreaWidgetContents_2.setObjectName("scrollAreaWidgetContents_2")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.scrollAreaWidgetContents_2)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.groupBox_2 = QtWidgets.QGroupBox(self.scrollAreaWidgetContents_2)
        self.groupBox_2.setObjectName("groupBox_2")
        self.gridLayout = QtWidgets.QGridLayout(self.groupBox_2)
        self.gridLayout.setObjectName("gridLayout")
        self.formLayout_2 = QtWidgets.QFormLayout()
        self.formLayout_2.setFieldGrowthPolicy(QtWidgets.QFormLayout.AllNonFixedFieldsGrow)
        self.formLayout_2.setContentsMargins(-1, 0, -1, -1)
        self.formLayout_2.setObjectName("formLayout_2")
        self.label_3 = QtWidgets.QLabel(self.groupBox_2)
        self.label_3.setObjectName("label_3")
        self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_3)
        self.uSourceLayer = QgsMapLayerComboBox(self.groupBox_2)
        self.uSourceLayer.setObjectName("uSourceLayer")
        self.formLayout_2.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.uSourceLayer)
        self.label_4 = QtWidgets.QLabel(self.groupBox_2)
        self.label_4.setObjectName("label_4")
        self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.label_4)
        self.uDataField = QgsFieldExpressionWidget(self.groupBox_2)
        self.uDataField.setObjectName("uDataField")
        self.formLayout_2.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.uDataField)
        self.uSelectedOnly = QtWidgets.QCheckBox(self.groupBox_2)
        self.uSelectedOnly.setObjectName("uSelectedOnly")
        self.formLayout_2.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.uSelectedOnly)
        self.gridLayout.addLayout(self.formLayout_2, 1, 0, 1, 1)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.label_2 = QtWidgets.QLabel(self.groupBox_2)
        self.label_2.setObjectName("label_2")
        self.horizontalLayout.addWidget(self.label_2)
        self.uRemoveDuplicates = QtWidgets.QCheckBox(self.groupBox_2)
        self.uRemoveDuplicates.setText("")
        self.uRemoveDuplicates.setObjectName("uRemoveDuplicates")
        self.horizontalLayout.addWidget(self.uRemoveDuplicates)
        self.label_11 = QtWidgets.QLabel(self.groupBox_2)
        self.label_11.setObjectName("label_11")
        self.horizontalLayout.addWidget(self.label_11)
        self.uDuplicateTolerance = QtWidgets.QDoubleSpinBox(self.groupBox_2)
        self.uDuplicateTolerance.setDecimals(3)
        self.uDuplicateTolerance.setMinimum(0.001)
        self.uDuplicateTolerance.setMaximum(99999.999)
        self.uDuplicateTolerance.setSingleStep(0.001)
        self.uDuplicateTolerance.setProperty("value", 0.001)
        self.uDuplicateTolerance.setObjectName("uDuplicateTolerance")
        self.horizontalLayout.addWidget(self.uDuplicateTolerance)
        self.uUseGridLabel = QtWidgets.QLabel(self.groupBox_2)
        self.uUseGridLabel.setEnabled(True)
        self.uUseGridLabel.setObjectName("uUseGridLabel")
        self.horizontalLayout.addWidget(self.uUseGridLabel)
        self.uUseGrid = QtWidgets.QCheckBox(self.groupBox_2)
        self.uUseGrid.setText("")
        self.uUseGrid.setObjectName("uUseGrid")
        self.horizontalLayout.addWidget(self.uUseGrid)
        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.gridLayout.addLayout(self.horizontalLayout, 3, 0, 1, 1)
        self.uLayerDescription = QtWidgets.QLabel(self.groupBox_2)
        self.uLayerDescription.setText("")
        self.uLayerDescription.setObjectName("uLayerDescription")
        self.gridLayout.addWidget(self.uLayerDescription, 4, 0, 1, 1)
        self.verticalLayout_2.addWidget(self.groupBox_2)
        self.groupBox = QtWidgets.QGroupBox(self.scrollAreaWidgetContents_2)
        self.groupBox.setObjectName("groupBox")
        self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.horizontalLayout_7 = QtWidgets.QHBoxLayout()
        self.horizontalLayout_7.setObjectName("horizontalLayout_7")
        self.uLinesContours = QtWidgets.QRadioButton(self.groupBox)
        self.uLinesContours.setObjectName("uLinesContours")
        self.horizontalLayout_7.addWidget(self.uLinesContours)
        self.uFilledContours = QtWidgets.QRadioButton(self.groupBox)
        self.uFilledContours.setObjectName("uFilledContours")
        self.horizontalLayout_7.addWidget(self.uFilledContours)
        self.uBoth = QtWidgets.QRadioButton(self.groupBox)
        self.uBoth.setObjectName("uBoth")
        self.horizontalLayout_7.addWidget(self.uBoth)
        self.uLayerContours = QtWidgets.QRadioButton(self.groupBox)
        self.uLayerContours.setObjectName("uLayerContours")
        self.horizontalLayout_7.addWidget(self.uLayerContours)
        spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout_7.addItem(spacerItem1)
        self.gridLayout_2.addLayout(self.horizontalLayout_7, 0, 0, 1, 3)
        spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
        self.gridLayout_2.addItem(spacerItem2, 10, 1, 1, 1)
        self.label_5 = QtWidgets.QLabel(self.groupBox)
#.........这里部分代码省略.........
开发者ID:ccrook,项目名称:QGIS-Contour-Plugin,代码行数:101,代码来源:ContourDialogUi.py


注:本文中的qgis.gui.QgsFieldExpressionWidget类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。