本文整理汇总了Python中qgis.core.QgsLayoutManager类的典型用法代码示例。如果您正苦于以下问题:Python QgsLayoutManager类的具体用法?Python QgsLayoutManager怎么用?Python QgsLayoutManager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QgsLayoutManager类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testReadWriteXml
def testReadWriteXml(self):
"""
Test reading and writing layout manager state to XML
"""
project = QgsProject()
manager = QgsLayoutManager(project)
# add a bunch of layouts
layout = QgsPrintLayout(project)
layout.setName('test layout')
layout2 = QgsPrintLayout(project)
layout2.setName('test layout2')
layout3 = QgsPrintLayout(project)
layout3.setName('test layout3')
manager.addLayout(layout)
manager.addLayout(layout2)
manager.addLayout(layout3)
# save to xml
doc = QDomDocument("testdoc")
elem = manager.writeXml(doc)
doc.appendChild(elem)
# restore from xml
project2 = QgsProject()
manager2 = QgsLayoutManager(project2)
self.assertTrue(manager2.readXml(elem, doc))
self.assertEqual(len(manager2.layouts()), 3)
names = [c.name() for c in manager2.layouts()]
self.assertCountEqual(names, ['test layout', 'test layout2', 'test layout3'])
示例2: testAddLayout
def testAddLayout(self):
project = QgsProject()
layout = QgsPrintLayout(project)
layout.setName('test layout')
manager = QgsLayoutManager(project)
layout_about_to_be_added_spy = QSignalSpy(manager.layoutAboutToBeAdded)
layout_added_spy = QSignalSpy(manager.layoutAdded)
self.assertTrue(manager.addLayout(layout))
self.assertEqual(len(layout_about_to_be_added_spy), 1)
self.assertEqual(layout_about_to_be_added_spy[0][0], 'test layout')
self.assertEqual(len(layout_added_spy), 1)
self.assertEqual(layout_added_spy[0][0], 'test layout')
# adding it again should fail
self.assertFalse(manager.addLayout(layout))
# try adding a second layout
layout2 = QgsPrintLayout(project)
layout2.setName('test layout2')
self.assertTrue(manager.addLayout(layout2))
self.assertEqual(len(layout_added_spy), 2)
self.assertEqual(layout_about_to_be_added_spy[1][0], 'test layout2')
self.assertEqual(len(layout_about_to_be_added_spy), 2)
self.assertEqual(layout_added_spy[1][0], 'test layout2')
# adding a layout with duplicate name should fail
layout3 = QgsPrintLayout(project)
layout3.setName('test layout2')
self.assertFalse(manager.addLayout(layout3))
示例3: testReadWriteXml
def testReadWriteXml(self):
"""
Test reading and writing layout manager state to XML
"""
project = QgsProject()
manager = QgsLayoutManager(project)
# add a bunch of compositions
composition = QgsComposition(project)
composition.setName('test composition')
composition2 = QgsComposition(project)
composition2.setName('test composition2')
composition3 = QgsComposition(project)
composition3.setName('test composition3')
manager.addComposition(composition)
manager.addComposition(composition2)
manager.addComposition(composition3)
# save to xml
doc = QDomDocument("testdoc")
elem = manager.writeXml(doc)
doc.appendChild(elem)
# restore from xml
project2 = QgsProject()
manager2 = QgsLayoutManager(project2)
self.assertTrue(manager2.readXml(elem, doc))
self.assertEqual(len(manager2.compositions()), 3)
names = [c.name() for c in manager2.compositions()]
self.assertEqual(set(names), {'test composition', 'test composition2', 'test composition3'})
示例4: testAddComposition
def testAddComposition(self):
project = QgsProject()
composition = QgsComposition(project)
composition.setName('test composition')
manager = QgsLayoutManager(project)
composition_about_to_be_added_spy = QSignalSpy(manager.compositionAboutToBeAdded)
composition_added_spy = QSignalSpy(manager.compositionAdded)
self.assertTrue(manager.addComposition(composition))
self.assertEqual(len(composition_about_to_be_added_spy), 1)
self.assertEqual(composition_about_to_be_added_spy[0][0], 'test composition')
self.assertEqual(len(composition_added_spy), 1)
self.assertEqual(composition_added_spy[0][0], 'test composition')
# adding it again should fail
self.assertFalse(manager.addComposition(composition))
# try adding a second composition
composition2 = QgsComposition(project)
composition2.setName('test composition2')
self.assertTrue(manager.addComposition(composition2))
self.assertEqual(len(composition_added_spy), 2)
self.assertEqual(composition_about_to_be_added_spy[1][0], 'test composition2')
self.assertEqual(len(composition_about_to_be_added_spy), 2)
self.assertEqual(composition_added_spy[1][0], 'test composition2')
# adding a composition with duplicate name should fail
composition3 = QgsComposition(project)
composition3.setName('test composition2')
self.assertFalse(manager.addComposition(composition3))
示例5: testCombo
def testCombo(self):
project = QgsProject()
manager = QgsLayoutManager(project)
layout = QgsPrintLayout(project)
layout.setName('ccc')
self.assertTrue(manager.addLayout(layout))
layout2 = QgsPrintLayout(project)
layout2.setName('bbb')
self.assertTrue(manager.addLayout(layout2))
r = QgsReport(project)
r.setName('ddd')
manager.addLayout(r)
combo = QgsLayoutComboBox(None, manager)
spy = QSignalSpy(combo.layoutChanged)
self.assertEqual(combo.count(), 3)
self.assertEqual(combo.itemText(0), 'bbb')
self.assertEqual(combo.itemText(1), 'ccc')
self.assertEqual(combo.itemText(2), 'ddd')
self.assertEqual(combo.layout(0), layout2)
self.assertEqual(combo.layout(1), layout)
self.assertEqual(combo.layout(2), r)
combo.setCurrentLayout(None)
self.assertEqual(combo.currentLayout(), None)
self.assertEqual(len(spy), 1)
combo.setCurrentLayout(layout)
self.assertEqual(combo.currentLayout(), layout)
self.assertEqual(len(spy), 2)
combo.setCurrentLayout(r)
self.assertEqual(combo.currentLayout(), r)
self.assertEqual(len(spy), 3)
combo.setCurrentLayout(layout2)
self.assertEqual(combo.currentLayout(), layout2)
self.assertEqual(len(spy), 4)
combo.setAllowEmptyLayout(True)
self.assertEqual(combo.count(), 4)
self.assertEqual(combo.itemText(0), '')
self.assertEqual(combo.itemText(1), 'bbb')
self.assertEqual(combo.itemText(2), 'ccc')
self.assertEqual(combo.itemText(3), 'ddd')
combo.setCurrentLayout(None)
self.assertEqual(combo.currentIndex(), 0)
combo.setFilters(QgsLayoutManagerProxyModel.FilterPrintLayouts)
self.assertEqual(combo.count(), 3)
self.assertEqual(combo.itemText(0), '')
self.assertEqual(combo.itemText(1), 'bbb')
self.assertEqual(combo.itemText(2), 'ccc')
combo.setFilters(QgsLayoutManagerProxyModel.FilterReports)
self.assertEqual(combo.filters(), QgsLayoutManagerProxyModel.FilterReports)
self.assertEqual(combo.count(), 2)
self.assertEqual(combo.itemText(0), '')
self.assertEqual(combo.itemText(1), 'ddd')
示例6: testSaveAsTemplate
def testSaveAsTemplate(self):
"""
Test saving composition as template
"""
project = QgsProject()
manager = QgsLayoutManager(project)
doc = QDomDocument("testdoc")
self.assertFalse(manager.saveAsTemplate('not in manager', doc))
composition = QgsComposition(project)
composition.setName('test composition')
manager.addComposition(composition)
self.assertTrue(manager.saveAsTemplate('test composition', doc))
示例7: testLayouts
def testLayouts(self):
project = QgsProject()
manager = QgsLayoutManager(project)
layout = QgsPrintLayout(project)
layout.setName('test layout')
layout2 = QgsPrintLayout(project)
layout2.setName('test layout2')
layout3 = QgsPrintLayout(project)
layout3.setName('test layout3')
manager.addLayout(layout)
self.assertEqual(manager.layouts(), [layout])
manager.addLayout(layout2)
self.assertEqual(set(manager.layouts()), {layout, layout2})
manager.addLayout(layout3)
self.assertEqual(set(manager.layouts()), {layout, layout2, layout3})
示例8: testRemoveLayout
def testRemoveLayout(self):
project = QgsProject()
layout = QgsPrintLayout(project)
layout.setName('test layout')
self.manager = QgsLayoutManager(project)
layout_removed_spy = QSignalSpy(self.manager.layoutRemoved)
layout_about_to_be_removed_spy = QSignalSpy(self.manager.layoutAboutToBeRemoved)
# tests that layout still exists when layoutAboutToBeRemoved is fired
self.manager.layoutAboutToBeRemoved.connect(self.layoutAboutToBeRemoved)
# not added, should fail
self.assertFalse(self.manager.removeLayout(layout))
self.assertEqual(len(layout_removed_spy), 0)
self.assertEqual(len(layout_about_to_be_removed_spy), 0)
self.assertTrue(self.manager.addLayout(layout))
self.assertEqual(self.manager.layouts(), [layout])
self.assertTrue(self.manager.removeLayout(layout))
self.assertEqual(len(self.manager.layouts()), 0)
self.assertEqual(len(layout_removed_spy), 1)
self.assertEqual(layout_removed_spy[0][0], 'test layout')
self.assertEqual(len(layout_about_to_be_removed_spy), 1)
self.assertEqual(layout_about_to_be_removed_spy[0][0], 'test layout')
self.assertTrue(self.aboutFired)
self.manager = None
示例9: testCompositions
def testCompositions(self):
project = QgsProject()
manager = QgsLayoutManager(project)
composition = QgsComposition(project)
composition.setName('test composition')
composition2 = QgsComposition(project)
composition2.setName('test composition2')
composition3 = QgsComposition(project)
composition3.setName('test composition3')
manager.addComposition(composition)
self.assertEqual(manager.compositions(), [composition])
manager.addComposition(composition2)
self.assertEqual(set(manager.compositions()), {composition, composition2})
manager.addComposition(composition3)
self.assertEqual(set(manager.compositions()), {composition, composition2, composition3})
示例10: testRemoveComposition
def testRemoveComposition(self):
project = QgsProject()
composition = QgsComposition(project)
composition.setName('test composition')
self.manager = QgsLayoutManager(project)
composition_removed_spy = QSignalSpy(self.manager.compositionRemoved)
composition_about_to_be_removed_spy = QSignalSpy(self.manager.compositionAboutToBeRemoved)
# tests that composition still exists when compositionAboutToBeRemoved is fired
self.manager.compositionAboutToBeRemoved.connect(self.aboutToBeRemoved)
# not added, should fail
self.assertFalse(self.manager.removeComposition(composition))
self.assertEqual(len(composition_removed_spy), 0)
self.assertEqual(len(composition_about_to_be_removed_spy), 0)
self.assertTrue(self.manager.addComposition(composition))
self.assertEqual(self.manager.compositions(), [composition])
self.assertTrue(self.manager.removeComposition(composition))
self.assertEqual(len(self.manager.compositions()), 0)
self.assertEqual(len(composition_removed_spy), 1)
self.assertEqual(composition_removed_spy[0][0], 'test composition')
self.assertEqual(len(composition_about_to_be_removed_spy), 1)
self.assertEqual(composition_about_to_be_removed_spy[0][0], 'test composition')
self.assertTrue(self.aboutFired)
self.manager = None
示例11: testRenameSignal
def testRenameSignal(self):
project = QgsProject()
manager = QgsLayoutManager(project)
composition = QgsComposition(project)
composition.setName('c1')
manager.addComposition(composition)
composition2 = QgsComposition(project)
composition2.setName('c2')
manager.addComposition(composition2)
composition_renamed_spy = QSignalSpy(manager.compositionRenamed)
composition.setName('d1')
self.assertEqual(len(composition_renamed_spy), 1)
self.assertEqual(composition_renamed_spy[0][0], composition)
self.assertEqual(composition_renamed_spy[0][1], 'd1')
composition2.setName('d2')
self.assertEqual(len(composition_renamed_spy), 2)
self.assertEqual(composition_renamed_spy[1][0], composition2)
self.assertEqual(composition_renamed_spy[1][1], 'd2')
示例12: testRenameSignal
def testRenameSignal(self):
project = QgsProject()
manager = QgsLayoutManager(project)
layout = QgsPrintLayout(project)
layout.setName('c1')
manager.addLayout(layout)
layout2 = QgsPrintLayout(project)
layout2.setName('c2')
manager.addLayout(layout2)
layout_renamed_spy = QSignalSpy(manager.layoutRenamed)
layout.setName('d1')
self.assertEqual(len(layout_renamed_spy), 1)
# self.assertEqual(layout_renamed_spy[0][0], layout)
self.assertEqual(layout_renamed_spy[0][1], 'd1')
layout2.setName('d2')
self.assertEqual(len(layout_renamed_spy), 2)
# self.assertEqual(layout_renamed_spy[1][0], layout2)
self.assertEqual(layout_renamed_spy[1][1], 'd2')
示例13: testLayoutsByName
def testLayoutsByName(self):
project = QgsProject()
manager = QgsLayoutManager(project)
# add a bunch of layouts
layout = QgsPrintLayout(project)
layout.setName('test layout')
layout2 = QgsPrintLayout(project)
layout2.setName('test layout2')
layout3 = QgsPrintLayout(project)
layout3.setName('test layout3')
manager.addLayout(layout)
manager.addLayout(layout2)
manager.addLayout(layout3)
self.assertFalse(manager.layoutByName('asdf'))
self.assertEqual(manager.layoutByName('test layout'), layout)
self.assertEqual(manager.layoutByName('test layout2'), layout2)
self.assertEqual(manager.layoutByName('test layout3'), layout3)
示例14: testCompositionByName
def testCompositionByName(self):
project = QgsProject()
manager = QgsLayoutManager(project)
# add a bunch of compositions
composition = QgsComposition(project)
composition.setName('test composition')
composition2 = QgsComposition(project)
composition2.setName('test composition2')
composition3 = QgsComposition(project)
composition3.setName('test composition3')
manager.addComposition(composition)
manager.addComposition(composition2)
manager.addComposition(composition3)
self.assertFalse(manager.compositionByName('asdf'))
self.assertEqual(manager.compositionByName('test composition'), composition)
self.assertEqual(manager.compositionByName('test composition2'), composition2)
self.assertEqual(manager.compositionByName('test composition3'), composition3)
示例15: testClear
def testClear(self):
project = QgsProject()
manager = QgsLayoutManager(project)
# add a bunch of layouts
layout = QgsPrintLayout(project)
layout.setName('test layout')
layout2 = QgsPrintLayout(project)
layout2.setName('test layout2')
layout3 = QgsPrintLayout(project)
layout3.setName('test layout3')
manager.addLayout(layout)
manager.addLayout(layout2)
manager.addLayout(layout3)
layout_removed_spy = QSignalSpy(manager.layoutRemoved)
layout_about_to_be_removed_spy = QSignalSpy(manager.layoutAboutToBeRemoved)
manager.clear()
self.assertEqual(len(manager.layouts()), 0)
self.assertEqual(len(layout_removed_spy), 3)
self.assertEqual(len(layout_about_to_be_removed_spy), 3)