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


Python QgsExpressionBuilderWidget.model方法代码示例

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


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

示例1: testLayers

# 需要导入模块: from qgis.gui import QgsExpressionBuilderWidget [as 别名]
# 或者: from qgis.gui.QgsExpressionBuilderWidget import model [as 别名]
    def testLayers(self):
        """ check that layers are shown in widget model"""
        p = QgsProject.instance()
        layer = QgsVectorLayer("Point", "layer1", "memory")
        layer2 = QgsVectorLayer("Point", "layer2", "memory")
        p.addMapLayers([layer, layer2])

        w = QgsExpressionBuilderWidget()
        m = w.model()

        # check that layers are shown
        items = m.findItems('layer1', Qt.MatchRecursive)
        self.assertEqual(len(items), 1)
        items = m.findItems('layer2', Qt.MatchRecursive)
        self.assertEqual(len(items), 1)

        # change project
        p2 = QgsProject()
        layer3 = QgsVectorLayer("Point", "layer3", "memory")
        p2.addMapLayers([layer3])
        w.setProject(p2)
        m = w.model()
        items = m.findItems('layer1', Qt.MatchRecursive)
        self.assertEqual(len(items), 0)
        items = m.findItems('layer2', Qt.MatchRecursive)
        self.assertEqual(len(items), 0)
        items = m.findItems('layer3', Qt.MatchRecursive)
        self.assertEqual(len(items), 1)
开发者ID:giohappy,项目名称:QGIS,代码行数:30,代码来源:test_qgsexpressionbuilderwidget.py

示例2: testRelations

# 需要导入模块: from qgis.gui import QgsExpressionBuilderWidget [as 别名]
# 或者: from qgis.gui.QgsExpressionBuilderWidget import model [as 别名]
    def testRelations(self):
        """ check that layers are shown in widget model"""
        p = QgsProject.instance()

        # not valid, but doesn't matter for test....
        rel = QgsRelation()
        rel.setId('rel1')
        rel.setName('Relation Number One')
        rel.setReferencingLayer(self.referencingLayer.id())
        rel.setReferencedLayer(self.referencedLayer.id())
        rel.addFieldPair('foreignkey', 'y')

        rel2 = QgsRelation()
        rel2.setId('rel2')
        rel2.setName('Relation Number Two')
        rel2.setReferencingLayer(self.referencingLayer.id())
        rel2.setReferencedLayer(self.referencedLayer.id())
        rel2.addFieldPair('foreignkey', 'y')

        p.relationManager().addRelation(rel)
        p.relationManager().addRelation(rel2)

        w = QgsExpressionBuilderWidget()
        m = w.model()

        # check that relations are shown
        items = m.findItems('Relation Number One', Qt.MatchRecursive)
        self.assertEqual(len(items), 1)
        items = m.findItems('Relation Number Two', Qt.MatchRecursive)
        self.assertEqual(len(items), 1)
开发者ID:giohappy,项目名称:QGIS,代码行数:32,代码来源:test_qgsexpressionbuilderwidget.py

示例3: testFunctionPresent

# 需要导入模块: from qgis.gui import QgsExpressionBuilderWidget [as 别名]
# 或者: from qgis.gui.QgsExpressionBuilderWidget import model [as 别名]
 def testFunctionPresent(self):
     """ check through widget model to ensure it is initially populated with functions """
     w = QgsExpressionBuilderWidget()
     m = w.model()
     # check that some standard expression functions are shown
     items = m.findItems('lower', Qt.MatchRecursive)
     self.assertEqual(len(items), 1)
     items = m.findItems('upper', Qt.MatchRecursive)
     self.assertEqual(len(items), 1)
     items = m.findItems('asdasdasda#[email protected]#$', Qt.MatchRecursive)
     self.assertEqual(len(items), 0)
开发者ID:giohappy,项目名称:QGIS,代码行数:13,代码来源:test_qgsexpressionbuilderwidget.py

示例4: testVariables

# 需要导入模块: from qgis.gui import QgsExpressionBuilderWidget [as 别名]
# 或者: from qgis.gui.QgsExpressionBuilderWidget import model [as 别名]
    def testVariables(self):
        """ check through widget model to ensure it is populated with variables """
        w = QgsExpressionBuilderWidget()
        m = w.model()

        s = QgsExpressionContextScope()
        s.setVariable('my_var1', 'x')
        s.setVariable('my_var2', 'y')
        c = QgsExpressionContext()
        c.appendScope(s)

        # check that variables are added when setting context
        w.setExpressionContext(c)
        items = m.findItems('my_var1', Qt.MatchRecursive)
        self.assertEqual(len(items), 1)
        items = m.findItems('my_var2', Qt.MatchRecursive)
        self.assertEqual(len(items), 1)
        items = m.findItems('not_my_var', Qt.MatchRecursive)
        self.assertEqual(len(items), 0)
        # double check that functions are still only there once
        items = m.findItems('lower', Qt.MatchRecursive)
        self.assertEqual(len(items), 1)
        items = m.findItems('upper', Qt.MatchRecursive)
        self.assertEqual(len(items), 1)
开发者ID:giohappy,项目名称:QGIS,代码行数:26,代码来源:test_qgsexpressionbuilderwidget.py


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