本文整理汇总了Python中qgslayoutchecker.QgsLayoutChecker.testLayout方法的典型用法代码示例。如果您正苦于以下问题:Python QgsLayoutChecker.testLayout方法的具体用法?Python QgsLayoutChecker.testLayout怎么用?Python QgsLayoutChecker.testLayout使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类qgslayoutchecker.QgsLayoutChecker
的用法示例。
在下文中一共展示了QgsLayoutChecker.testLayout方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testTableMultiFrame
# 需要导入模块: from qgslayoutchecker import QgsLayoutChecker [as 别名]
# 或者: from qgslayoutchecker.QgsLayoutChecker import testLayout [as 别名]
def testTableMultiFrame(self):
"""Test we can render to multiframes."""
layout_html = QgsLayoutItemHtml(self.layout)
html_frame = QgsLayoutFrame(self.layout, layout_html)
html_frame.attemptSetSceneRect(QRectF(10, 10, 100, 50))
layout_html.addFrame(html_frame)
layout_html.setResizeMode(
QgsLayoutMultiFrame.RepeatUntilFinished)
layout_html.setUseSmartBreaks(False)
layout_html.setUrl(self.htmlUrl())
layout_html.frame(0).setFrameEnabled(True)
print("Checking page 1")
myPage = 0
checker1 = QgsLayoutChecker('composerhtml_multiframe1', self.layout)
checker1.setControlPathPrefix("composer_html")
myTestResult, myMessage = checker1.testLayout(myPage)
assert myTestResult, myMessage
print("Checking page 2")
myPage = 1
checker2 = QgsLayoutChecker('composerhtml_multiframe2', self.layout)
checker2.setControlPathPrefix("composer_html")
myTestResult, myMessage = checker2.testLayout(myPage)
assert myTestResult, myMessage
self.layout.removeMultiFrame(layout_html)
layout_html = None
assert myTestResult, myMessage
示例2: testZebraStyleSides
# 需要导入模块: from qgslayoutchecker import QgsLayoutChecker [as 别名]
# 或者: from qgslayoutchecker.QgsLayoutChecker import testLayout [as 别名]
def testZebraStyleSides(self):
layout = QgsLayout(QgsProject.instance())
layout.initializeDefaults()
map = QgsLayoutItemMap(layout)
map.attemptSetSceneRect(QRectF(20, 20, 200, 100))
map.setFrameEnabled(True)
map.setBackgroundColor(QColor(150, 100, 100))
layout.addLayoutItem(map)
map.grid().setFrameStyle(QgsLayoutItemMapGrid.Zebra)
myRectangle = QgsRectangle(781662.375, 3339523.125, 793062.375, 3345223.125)
map.setExtent(myRectangle)
map.grid().setIntervalX(2000)
map.grid().setIntervalY(2000)
map.grid().setGridLineColor(QColor(0, 0, 0))
map.grid().setAnnotationFontColor(QColor(0, 0, 0))
map.grid().setBlendMode(QPainter.CompositionMode_SourceOver)
map.grid().setFrameStyle(QgsLayoutItemMapGrid.Zebra)
map.grid().setFrameWidth(10)
map.grid().setFramePenSize(1)
map.grid().setGridLineWidth(0.5)
map.grid().setFramePenColor(QColor(0, 0, 0))
map.grid().setFrameFillColor1(QColor(0, 0, 0))
map.grid().setFrameFillColor2(QColor(255, 255, 255))
map.grid().setEnabled(True)
map.grid().setFrameSideFlag(QgsLayoutItemMapGrid.FrameLeft, True)
map.grid().setFrameSideFlag(QgsLayoutItemMapGrid.FrameRight, False)
map.grid().setFrameSideFlag(QgsLayoutItemMapGrid.FrameTop, False)
map.grid().setFrameSideFlag(QgsLayoutItemMapGrid.FrameBottom, False)
map.updateBoundingRect()
checker = QgsLayoutChecker('composermap_zebrastyle_left', layout)
checker.setControlPathPrefix("composer_mapgrid")
myTestResult, myMessage = checker.testLayout(0, 100)
assert myTestResult, myMessage
map.grid().setFrameSideFlag(QgsLayoutItemMapGrid.FrameTop, True)
map.updateBoundingRect()
checker = QgsLayoutChecker('composermap_zebrastyle_lefttop', layout)
checker.setControlPathPrefix("composer_mapgrid")
myTestResult, myMessage = checker.testLayout(0, 100)
assert myTestResult, myMessage
map.grid().setFrameSideFlag(QgsLayoutItemMapGrid.FrameRight, True)
map.updateBoundingRect()
checker = QgsLayoutChecker('composermap_zebrastyle_lefttopright', layout)
checker.setControlPathPrefix("composer_mapgrid")
myTestResult, myMessage = checker.testLayout(0, 100)
assert myTestResult, myMessage
map.grid().setFrameSideFlag(QgsLayoutItemMapGrid.FrameBottom, True)
map.grid().setFrameStyle(QgsLayoutItemMapGrid.NoFrame)
示例3: testCrossGrid
# 需要导入模块: from qgslayoutchecker import QgsLayoutChecker [as 别名]
# 或者: from qgslayoutchecker.QgsLayoutChecker import testLayout [as 别名]
def testCrossGrid(self):
layout = QgsLayout(QgsProject.instance())
layout.initializeDefaults()
map = QgsLayoutItemMap(layout)
map.attemptSetSceneRect(QRectF(20, 20, 200, 100))
map.setFrameEnabled(True)
map.setBackgroundColor(QColor(150, 100, 100))
layout.addLayoutItem(map)
myRectangle = QgsRectangle(781662.375, 3339523.125, 793062.375, 3345223.125)
map.setExtent(myRectangle)
map.grid().setEnabled(True)
map.grid().setStyle(QgsLayoutItemMapGrid.Cross)
map.grid().setCrossLength(2.0)
map.grid().setIntervalX(2000)
map.grid().setIntervalY(2000)
map.grid().setAnnotationEnabled(False)
map.grid().setGridLineColor(QColor(0, 255, 0))
map.grid().setGridLineWidth(0.5)
map.grid().setBlendMode(QPainter.CompositionMode_SourceOver)
map.updateBoundingRect()
checker = QgsLayoutChecker('composermap_crossgrid', layout)
checker.setControlPathPrefix("composer_mapgrid")
myTestResult, myMessage = checker.testLayout()
map.grid().setStyle(QgsLayoutItemMapGrid.Solid)
map.grid().setEnabled(False)
map.grid().setAnnotationEnabled(False)
assert myTestResult, myMessage
示例4: testZebraStyle
# 需要导入模块: from qgslayoutchecker import QgsLayoutChecker [as 别名]
# 或者: from qgslayoutchecker.QgsLayoutChecker import testLayout [as 别名]
def testZebraStyle(self):
layout = QgsLayout(QgsProject.instance())
layout.initializeDefaults()
map = QgsLayoutItemMap(layout)
map.attemptSetSceneRect(QRectF(20, 20, 200, 100))
map.setFrameEnabled(True)
map.setBackgroundColor(QColor(150, 100, 100))
layout.addLayoutItem(map)
map.grid().setFrameStyle(QgsLayoutItemMapGrid.Zebra)
myRectangle = QgsRectangle(785462.375, 3341423.125,
789262.375, 3343323.125)
map.setExtent(myRectangle)
map.grid().setIntervalX(2000)
map.grid().setIntervalY(2000)
map.grid().setGridLineColor(QColor(0, 0, 0))
map.grid().setAnnotationFontColor(QColor(0, 0, 0))
map.grid().setBlendMode(QPainter.CompositionMode_SourceOver)
map.grid().setFrameStyle(QgsLayoutItemMapGrid.Zebra)
map.grid().setFrameWidth(10)
map.grid().setFramePenSize(1)
map.grid().setGridLineWidth(0.5)
map.grid().setFramePenColor(QColor(255, 100, 0, 200))
map.grid().setFrameFillColor1(QColor(50, 90, 50, 100))
map.grid().setFrameFillColor2(QColor(200, 220, 100, 60))
map.grid().setEnabled(True)
map.updateBoundingRect()
checker = QgsLayoutChecker('composermap_zebrastyle', layout)
checker.setControlPathPrefix("composer_mapgrid")
myTestResult, myMessage = checker.testLayout(0, 100)
assert myTestResult, myMessage
示例5: autoscale_render_test
# 需要导入模块: from qgslayoutchecker import QgsLayoutChecker [as 别名]
# 或者: from qgslayoutchecker.QgsLayoutChecker import testLayout [as 别名]
def autoscale_render_test(self):
self.atlas_map.setExtent(
QgsRectangle(332719.06221504929, 6765214.5887386119, 560957.85090677091, 6993453.3774303338))
self.atlas_map.setAtlasDriven(True)
self.atlas_map.setAtlasScalingMode(QgsLayoutItemMap.Auto)
self.atlas_map.setAtlasMargin(0.10)
self.atlas.beginRender()
for i in range(0, 2):
self.atlas.seekTo(i)
self.mLabel1.adjustSizeToText()
checker = QgsLayoutChecker('atlas_autoscale%d' % (i + 1), self.layout)
checker.setControlPathPrefix("atlas")
myTestResult, myMessage = checker.testLayout(0, 200)
self.report += checker.report()
self.assertTrue(myTestResult, myMessage)
self.atlas.endRender()
self.atlas_map.setAtlasDriven(False)
self.atlas_map.setAtlasScalingMode(QgsLayoutItemMap.Fixed)
self.atlas_map.setAtlasMargin(0)
示例6: testDisplayNodes
# 需要导入模块: from qgslayoutchecker import QgsLayoutChecker [as 别名]
# 或者: from qgslayoutchecker.QgsLayoutChecker import testLayout [as 别名]
def testDisplayNodes(self):
"""Test displayNodes method"""
self.polygon.setDisplayNodes(True)
checker = QgsLayoutChecker(
'composerpolygon_displaynodes', self.layout)
checker.setControlPathPrefix("composer_polygon")
myTestResult, myMessage = checker.testLayout()
assert myTestResult, myMessage
self.polygon.setDisplayNodes(False)
checker = QgsLayoutChecker(
'composerpolygon_defaultstyle', self.layout)
checker.setControlPathPrefix("composer_polygon")
myTestResult, myMessage = checker.testLayout()
assert myTestResult, myMessage
示例7: testInteriorTicks
# 需要导入模块: from qgslayoutchecker import QgsLayoutChecker [as 别名]
# 或者: from qgslayoutchecker.QgsLayoutChecker import testLayout [as 别名]
def testInteriorTicks(self):
layout = QgsLayout(QgsProject.instance())
layout.initializeDefaults()
map = QgsLayoutItemMap(layout)
map.attemptSetSceneRect(QRectF(20, 20, 200, 100))
map.setFrameEnabled(True)
map.setBackgroundColor(QColor(150, 100, 100))
layout.addLayoutItem(map)
map.grid().setFrameStyle(QgsLayoutItemMapGrid.Zebra)
myRectangle = QgsRectangle(781662.375, 3339523.125, 793062.375, 3345223.125)
map.setExtent(myRectangle)
map.grid().setIntervalX(2000)
map.grid().setIntervalY(2000)
map.grid().setAnnotationFontColor(QColor(0, 0, 0))
map.grid().setBlendMode(QPainter.CompositionMode_SourceOver)
map.grid().setFrameStyle(QgsLayoutItemMapGrid.InteriorTicks)
map.grid().setFrameWidth(10)
map.grid().setFramePenSize(1)
map.grid().setFramePenColor(QColor(0, 0, 0))
map.grid().setEnabled(True)
map.grid().setStyle(QgsLayoutItemMapGrid.FrameAnnotationsOnly)
map.updateBoundingRect()
checker = QgsLayoutChecker('composermap_interiorticks', layout)
checker.setControlPathPrefix("composer_mapgrid")
myTestResult, myMessage = checker.testLayout(0, 100)
assert myTestResult, myMessage
示例8: testInitialSizeSymbolMapUnits
# 需要导入模块: from qgslayoutchecker import QgsLayoutChecker [as 别名]
# 或者: from qgslayoutchecker.QgsLayoutChecker import testLayout [as 别名]
def testInitialSizeSymbolMapUnits(self):
"""Test initial size of legend with a symbol size in map units"""
point_path = os.path.join(TEST_DATA_DIR, 'points.shp')
point_layer = QgsVectorLayer(point_path, 'points', 'ogr')
QgsProject.instance().addMapLayers([point_layer])
marker_symbol = QgsMarkerSymbol.createSimple({'color': '#ff0000', 'outline_style': 'no', 'size': '5', 'size_unit': 'MapUnit'})
point_layer.setRenderer(QgsSingleSymbolRenderer(marker_symbol))
s = QgsMapSettings()
s.setLayers([point_layer])
layout = QgsLayout(QgsProject.instance())
layout.initializeDefaults()
map = QgsLayoutItemMap(layout)
map.attemptSetSceneRect(QRectF(20, 20, 80, 80))
map.setFrameEnabled(True)
map.setLayers([point_layer])
layout.addLayoutItem(map)
map.setExtent(point_layer.extent())
legend = QgsLayoutItemLegend(layout)
legend.setTitle("Legend")
legend.attemptSetSceneRect(QRectF(120, 20, 80, 80))
legend.setFrameEnabled(True)
legend.setFrameStrokeWidth(QgsLayoutMeasurement(2))
legend.setBackgroundColor(QColor(200, 200, 200))
legend.setTitle('')
layout.addLayoutItem(legend)
legend.setLinkedMap(map)
checker = QgsLayoutChecker(
'composer_legend_mapunits', layout)
checker.setControlPathPrefix("composer_legend")
result, message = checker.testLayout()
self.assertTrue(result, message)
# resize with non-top-left reference point
legend.setResizeToContents(False)
legend.setReferencePoint(QgsLayoutItem.LowerRight)
legend.attemptMove(QgsLayoutPoint(120, 90))
legend.attemptResize(QgsLayoutSize(50, 60))
self.assertEqual(legend.positionWithUnits().x(), 120.0)
self.assertEqual(legend.positionWithUnits().y(), 90.0)
self.assertAlmostEqual(legend.pos().x(), 70, -1)
self.assertAlmostEqual(legend.pos().y(), 30, -1)
legend.setResizeToContents(True)
legend.updateLegend()
self.assertEqual(legend.positionWithUnits().x(), 120.0)
self.assertEqual(legend.positionWithUnits().y(), 90.0)
self.assertAlmostEqual(legend.pos().x(), 91, -1)
self.assertAlmostEqual(legend.pos().y(), 71, -1)
QgsProject.instance().removeMapLayers([point_layer.id()])
示例9: testDefaultStyle
# 需要导入模块: from qgslayoutchecker import QgsLayoutChecker [as 别名]
# 或者: from qgslayoutchecker.QgsLayoutChecker import testLayout [as 别名]
def testDefaultStyle(self):
"""Test polygon rendering with default style."""
self.polygon.setDisplayNodes(False)
checker = QgsLayoutChecker(
'composerpolygon_defaultstyle', self.layout)
checker.setControlPathPrefix("composer_polygon")
myTestResult, myMessage = checker.testLayout()
assert myTestResult, myMessage
示例10: testResizeZoom
# 需要导入模块: from qgslayoutchecker import QgsLayoutChecker [as 别名]
# 或者: from qgslayoutchecker.QgsLayoutChecker import testLayout [as 别名]
def testResizeZoom(self):
"""Test picture resize zoom mode."""
self.picture.setResizeMode(QgsLayoutItemPicture.Zoom)
checker = QgsLayoutChecker('composerpicture_resize_zoom', self.layout)
checker.setControlPathPrefix("composer_picture")
testResult, message = checker.testLayout()
assert testResult, message
示例11: testExpressionInText
# 需要导入模块: from qgslayoutchecker import QgsLayoutChecker [as 别名]
# 或者: from qgslayoutchecker.QgsLayoutChecker import testLayout [as 别名]
def testExpressionInText(self):
"""Test expressions embedded in legend node text"""
point_path = os.path.join(TEST_DATA_DIR, 'points.shp')
point_layer = QgsVectorLayer(point_path, 'points', 'ogr')
layout = QgsPrintLayout(QgsProject.instance())
layout.setName('LAYOUT')
layout.initializeDefaults()
map = QgsLayoutItemMap(layout)
map.attemptSetSceneRect(QRectF(20, 20, 80, 80))
map.setFrameEnabled(True)
map.setLayers([point_layer])
layout.addLayoutItem(map)
map.setExtent(point_layer.extent())
legend = QgsLayoutItemLegend(layout)
legend.setTitle("Legend")
legend.attemptSetSceneRect(QRectF(120, 20, 100, 100))
legend.setFrameEnabled(True)
legend.setFrameStrokeWidth(QgsLayoutMeasurement(2))
legend.setBackgroundColor(QColor(200, 200, 200))
legend.setTitle('')
legend.setLegendFilterByMapEnabled(False)
legend.setStyleFont(QgsLegendStyle.Title, QgsFontUtils.getStandardTestFont('Bold', 16))
legend.setStyleFont(QgsLegendStyle.Group, QgsFontUtils.getStandardTestFont('Bold', 16))
legend.setStyleFont(QgsLegendStyle.Subgroup, QgsFontUtils.getStandardTestFont('Bold', 16))
legend.setStyleFont(QgsLegendStyle.Symbol, QgsFontUtils.getStandardTestFont('Bold', 16))
legend.setStyleFont(QgsLegendStyle.SymbolLabel, QgsFontUtils.getStandardTestFont('Bold', 16))
legend.setAutoUpdateModel(False)
QgsProject.instance().addMapLayers([point_layer])
s = QgsMapSettings()
s.setLayers([point_layer])
group = legend.model().rootGroup().addGroup("Group [% 1 + 5 %] [% @layout_name %]")
layer_tree_layer = group.addLayer(point_layer)
layer_tree_layer.setCustomProperty("legend/title-label", 'bbbb [% 1+2 %] xx [% @layout_name %] [% @layer_name %]')
QgsMapLayerLegendUtils.setLegendNodeUserLabel(layer_tree_layer, 0, 'xxxx')
legend.model().refreshLayerLegend(layer_tree_layer)
legend.model().layerLegendNodes(layer_tree_layer)[0].setUserLabel('bbbb [% 1+2 %] xx [% @layout_name %] [% @layer_name %]')
layout.addLayoutItem(legend)
legend.setLinkedMap(map)
map.setExtent(QgsRectangle(-102.51, 41.16, -102.36, 41.30))
checker = QgsLayoutChecker(
'composer_legend_expressions', layout)
checker.setControlPathPrefix("composer_legend")
result, message = checker.testLayout()
self.assertTrue(result, message)
QgsProject.instance().removeMapLayers([point_layer.id()])
示例12: testRemoteImage
# 需要导入模块: from qgslayoutchecker import QgsLayoutChecker [as 别名]
# 或者: from qgslayoutchecker.QgsLayoutChecker import testLayout [as 别名]
def testRemoteImage(self):
"""Test fetching remote picture."""
self.picture.setPicturePath('http://localhost:' + str(TestQgsLayoutPicture.port) + '/qgis_local_server/logo.png')
checker = QgsLayoutChecker('picture_remote', self.layout)
checker.setControlPathPrefix("composer_picture")
testResult, message = checker.testLayout()
self.picture.setPicturePath(self.pngImage)
assert testResult, message
示例13: testSelectedNode
# 需要导入模块: from qgslayoutchecker import QgsLayoutChecker [as 别名]
# 或者: from qgslayoutchecker.QgsLayoutChecker import testLayout [as 别名]
def testSelectedNode(self):
"""Test selectedNode and deselectNode methods"""
self.polygon.setDisplayNodes(True)
self.polygon.setSelectedNode(3)
checker = QgsLayoutChecker(
'composerpolygon_selectednode', self.layout)
checker.setControlPathPrefix("composer_polygon")
myTestResult, myMessage = checker.testLayout()
assert myTestResult, myMessage
self.polygon.deselectNode()
self.polygon.setDisplayNodes(False)
checker = QgsLayoutChecker(
'composerpolygon_defaultstyle', self.layout)
checker.setControlPathPrefix("composer_polygon")
myTestResult, myMessage = checker.testLayout()
assert myTestResult, myMessage
示例14: testEndArrow
# 需要导入模块: from qgslayoutchecker import QgsLayoutChecker [as 别名]
# 或者: from qgslayoutchecker.QgsLayoutChecker import testLayout [as 别名]
def testEndArrow(self):
self.polyline.setEndMarker(QgsLayoutItemPolyline.ArrowHead)
self.polyline.setArrowHeadWidth(30.0)
checker = QgsLayoutChecker('composerpolyline_endArrow', self.layout)
checker.setControlPathPrefix("composer_polyline")
myTestResult, myMessage = checker.testLayout()
assert myTestResult, myMessage
self.polyline.setEndMarker(QgsLayoutItemPolyline.NoMarker)
示例15: testOverviewStacking
# 需要导入模块: from qgslayoutchecker import QgsLayoutChecker [as 别名]
# 或者: from qgslayoutchecker.QgsLayoutChecker import testLayout [as 别名]
def testOverviewStacking(self):
l = QgsLayout(QgsProject.instance())
l.initializeDefaults()
map = QgsLayoutItemMap(l)
map.attemptSetSceneRect(QRectF(20, 20, 200, 100))
map.setFrameEnabled(True)
map.setLayers([self.raster_layer])
l.addLayoutItem(map)
overviewMap = QgsLayoutItemMap(l)
overviewMap.attemptSetSceneRect(QRectF(20, 130, 70, 70))
l.addLayoutItem(overviewMap)
overviewMap.setFrameEnabled(True)
overviewMap.setLayers([self.raster_layer])
# zoom in
myRectangle = QgsRectangle(96, -152, 160, -120)
map.setExtent(myRectangle)
myRectangle2 = QgsRectangle(-20, -276, 276, 20)
overviewMap.setExtent(myRectangle2)
overviewMap.overview().setLinkedMap(map)
overviewMap.overview().setInverted(True)
overviewMap.overview().setStackingPosition(QgsLayoutItemMapItem.StackBelowMapLayer)
overviewMap.overview().setStackingLayer(self.raster_layer)
checker = QgsLayoutChecker('composermap_overview_belowmap', l)
checker.setColorTolerance(6)
checker.setControlPathPrefix("composer_mapoverview")
myTestResult, myMessage = checker.testLayout()
self.report += checker.report()
self.assertTrue(myTestResult, myMessage)
overviewMap.overview().setStackingPosition(QgsLayoutItemMapItem.StackAboveMapLayer)
overviewMap.overview().setStackingLayer(self.raster_layer)
checker = QgsLayoutChecker('composermap_overview_abovemap', l)
checker.setColorTolerance(6)
checker.setControlPathPrefix("composer_mapoverview")
myTestResult, myMessage = checker.testLayout()
self.report += checker.report()
self.assertTrue(myTestResult, myMessage)