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


Python QPolygonF.append方法代码示例

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


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

示例1: testBounds

# 需要导入模块: from qgis.PyQt.QtGui import QPolygonF [as 别名]
# 或者: from qgis.PyQt.QtGui.QPolygonF import append [as 别名]
    def testBounds(self):
        pr = QgsProject()
        l = QgsLayout(pr)

        p = QPolygonF()
        p.append(QPointF(50.0, 30.0))
        p.append(QPointF(100.0, 10.0))
        p.append(QPointF(200.0, 100.0))
        shape = QgsLayoutItemPolygon(p, l)

        props = {}
        props["color"] = "green"
        props["style"] = "solid"
        props["style_border"] = "solid"
        props["color_border"] = "red"
        props["width_border"] = "6.0"
        props["joinstyle"] = "miter"

        style = QgsFillSymbol.createSimple(props)
        shape.setSymbol(style)

        # scene bounding rect should include symbol outline
        bounds = shape.sceneBoundingRect()
        self.assertEqual(bounds.left(), 47.0)
        self.assertEqual(bounds.right(), 203.0)
        self.assertEqual(bounds.top(), 7.0)
        self.assertEqual(bounds.bottom(), 103.0)

        # rectWithFrame should include symbol outline too
        bounds = shape.rectWithFrame()
        self.assertEqual(bounds.left(), -3.0)
        self.assertEqual(bounds.right(), 153.0)
        self.assertEqual(bounds.top(), -3.0)
        self.assertEqual(bounds.bottom(), 93.0)
开发者ID:pblottiere,项目名称:QGIS,代码行数:36,代码来源:test_qgslayoutpolygon.py

示例2: __init__

# 需要导入模块: from qgis.PyQt.QtGui import QPolygonF [as 别名]
# 或者: from qgis.PyQt.QtGui.QPolygonF import append [as 别名]
    def __init__(self, methodName):
        """Run once on class initialization."""
        unittest.TestCase.__init__(self, methodName)

        # create composition
        self.layout = QgsLayout(QgsProject.instance())
        self.layout.initializeDefaults()

        # create
        polygon = QPolygonF()
        polygon.append(QPointF(0.0, 0.0))
        polygon.append(QPointF(100.0, 0.0))
        polygon.append(QPointF(200.0, 100.0))
        polygon.append(QPointF(100.0, 200.0))

        self.polygon = QgsLayoutItemPolygon(polygon, self.layout)
        self.layout.addLayoutItem(self.polygon)

        # style
        props = {}
        props["color"] = "green"
        props["style"] = "solid"
        props["style_border"] = "solid"
        props["color_border"] = "black"
        props["width_border"] = "10.0"
        props["joinstyle"] = "miter"

        style = QgsFillSymbol.createSimple(props)
        self.polygon.setSymbol(style)
开发者ID:pblottiere,项目名称:QGIS,代码行数:31,代码来源:test_qgslayoutpolygon.py

示例3: __init__

# 需要导入模块: from qgis.PyQt.QtGui import QPolygonF [as 别名]
# 或者: from qgis.PyQt.QtGui.QPolygonF import append [as 别名]
    def __init__(self, methodName):
        """Run once on class initialization."""
        unittest.TestCase.__init__(self, methodName)

        # create composition
        self.layout = QgsLayout(QgsProject.instance())
        self.layout.initializeDefaults()

        # create
        polygon = QPolygonF()
        polygon.append(QPointF(0.0, 0.0))
        polygon.append(QPointF(100.0, 0.0))
        polygon.append(QPointF(200.0, 100.0))
        polygon.append(QPointF(100.0, 200.0))

        self.polyline = QgsLayoutItemPolyline(
            polygon, self.layout)
        self.layout.addLayoutItem(self.polyline)

        # style
        props = {}
        props["color"] = "0,0,0,255"
        props["width"] = "10.0"
        props["capstyle"] = "square"

        style = QgsLineSymbol.createSimple(props)
        self.polyline.setSymbol(style)
开发者ID:dmarteau,项目名称:QGIS,代码行数:29,代码来源:test_qgslayoutpolyline.py

示例4: testReadWriteXml

# 需要导入模块: from qgis.PyQt.QtGui import QPolygonF [as 别名]
# 或者: from qgis.PyQt.QtGui.QPolygonF import append [as 别名]
    def testReadWriteXml(self):
        pr = QgsProject()
        l = QgsLayout(pr)

        p = QPolygonF()
        p.append(QPointF(0.0, 0.0))
        p.append(QPointF(100.0, 0.0))
        p.append(QPointF(200.0, 100.0))
        shape = QgsLayoutItemPolygon(p, l)

        props = {}
        props["color"] = "green"
        props["style"] = "solid"
        props["style_border"] = "solid"
        props["color_border"] = "red"
        props["width_border"] = "10.0"
        props["joinstyle"] = "miter"

        style = QgsFillSymbol.createSimple(props)
        shape.setSymbol(style)

        #save original item to xml
        doc = QDomDocument("testdoc")
        elem = doc.createElement("test")
        self.assertTrue(shape.writeXml(elem, doc, QgsReadWriteContext()))

        shape2 = QgsLayoutItemPolygon(l)
        self.assertTrue(shape2.readXml(elem.firstChildElement(), doc, QgsReadWriteContext()))

        self.assertEqual(shape2.nodes(), shape.nodes())
        self.assertEqual(shape2.symbol().symbolLayer(0).color().name(), '#008000')
        self.assertEqual(shape2.symbol().symbolLayer(0).strokeColor().name(), '#ff0000')
开发者ID:pblottiere,项目名称:QGIS,代码行数:34,代码来源:test_qgslayoutpolygon.py

示例5: testReadWriteXml

# 需要导入模块: from qgis.PyQt.QtGui import QPolygonF [as 别名]
# 或者: from qgis.PyQt.QtGui.QPolygonF import append [as 别名]
    def testReadWriteXml(self):
        pr = QgsProject()
        l = QgsLayout(pr)

        p = QPolygonF()
        p.append(QPointF(0.0, 0.0))
        p.append(QPointF(100.0, 0.0))
        p.append(QPointF(200.0, 100.0))
        shape = QgsLayoutItemPolyline(p, l)

        props = {}
        props["color"] = "255,0,0,255"
        props["width"] = "10.0"
        props["capstyle"] = "square"

        style = QgsLineSymbol.createSimple(props)
        shape.setSymbol(style)

        #save original item to xml
        doc = QDomDocument("testdoc")
        elem = doc.createElement("test")
        self.assertTrue(shape.writeXml(elem, doc, QgsReadWriteContext()))

        shape2 = QgsLayoutItemPolyline(l)
        self.assertTrue(shape2.readXml(elem.firstChildElement(), doc, QgsReadWriteContext()))

        self.assertEqual(shape2.nodes(), shape.nodes())
        self.assertEqual(shape2.symbol().symbolLayer(0).color().name(), '#ff0000')
开发者ID:dmarteau,项目名称:QGIS,代码行数:30,代码来源:test_qgslayoutpolyline.py

示例6: testVerticalLine

# 需要导入模块: from qgis.PyQt.QtGui import QPolygonF [as 别名]
# 或者: from qgis.PyQt.QtGui.QPolygonF import append [as 别名]
    def testVerticalLine(self):
        pr = QgsProject()
        l = QgsLayout(pr)
        l.initializeDefaults()

        p = QPolygonF()
        p.append(QPointF(100.0, 50.0))
        p.append(QPointF(100.0, 100.0))
        shape = QgsLayoutItemPolyline(p, l)
        l.addLayoutItem(shape)

        props = {}
        props["color"] = "0,0,0,255"
        props["width"] = "10.0"
        props["capstyle"] = "square"

        style = QgsLineSymbol.createSimple(props)
        shape.setSymbol(style)

        checker = QgsLayoutChecker(
            'composerpolyline_vertline', l)
        checker.setControlPathPrefix("composer_polyline")
        myTestResult, myMessage = checker.testLayout()
        assert myTestResult, myMessage
开发者ID:dmarteau,项目名称:QGIS,代码行数:26,代码来源:test_qgslayoutpolyline.py

示例7: testNodeAtPosition

# 需要导入模块: from qgis.PyQt.QtGui import QPolygonF [as 别名]
# 或者: from qgis.PyQt.QtGui.QPolygonF import append [as 别名]
    def testNodeAtPosition(self):
        """Test nodeAtPosition method"""

        p = QPolygonF()
        p.append(QPointF(0.0, 0.0))
        p.append(QPointF(100.0, 0.0))
        p.append(QPointF(200.0, 100.0))
        p.append(QPointF(100.0, 200.0))

        polygon = QgsLayoutItemPolygon(p, self.layout)

        # default searching radius is 10
        rc = polygon.nodeAtPosition(QPointF(100.0, 210.0))
        self.assertEqual(rc, -1)

        # default searching radius is 10
        rc = polygon.nodeAtPosition(
            QPointF(100.0, 210.0), False)
        self.assertEqual(rc, 3)

        # default searching radius is 10
        rc = polygon.nodeAtPosition(
            QPointF(100.0, 210.0), True, 10.1)
        self.assertEqual(rc, 3)
开发者ID:pblottiere,项目名称:QGIS,代码行数:26,代码来源:test_qgslayoutpolygon.py

示例8: testNodes

# 需要导入模块: from qgis.PyQt.QtGui import QPolygonF [as 别名]
# 或者: from qgis.PyQt.QtGui.QPolygonF import append [as 别名]
    def testNodes(self):
        polygon = QPolygonF()
        polygon.append(QPointF(0.0, 0.0))
        polygon.append(QPointF(100.0, 0.0))
        polygon.append(QPointF(200.0, 100.0))
        polygon.append(QPointF(100.0, 200.0))

        p = QgsLayoutItemPolygon(polygon, self.layout)
        self.assertEqual(p.nodes(), polygon)

        polygon = QPolygonF()
        polygon.append(QPointF(0.0, 0.0))
        polygon.append(QPointF(1000.0, 0.0))
        polygon.append(QPointF(2000.0, 100.0))
        polygon.append(QPointF(1000.0, 200.0))

        p.setNodes(polygon)
        self.assertEqual(p.nodes(), polygon)
开发者ID:pblottiere,项目名称:QGIS,代码行数:20,代码来源:test_qgslayoutpolygon.py


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