Ejemplo n.º 1
0
 def prepare_renderer(levels, inter_time, lenpoly):
     cats = [('{} - {} min'.format(levels[i] - inter_time, levels[i]),
              levels[i] - inter_time, levels[i])
             for i in range(lenpoly)]  # label, lower bound, upper bound
     colors = get_isochrones_colors(len(levels))
     ranges = []
     for ix, cat in enumerate(cats):
         symbol = QgsFillSymbol()
         symbol.setColor(QColor(colors[ix]))
         ranges.append(QgsRendererRange(cat[1], cat[2], symbol, cat[0]))
     return QgsGraduatedSymbolRenderer('max', ranges)
Ejemplo n.º 2
0
    def testReadWriteSettings(self):
        p = QgsProject()
        l = QgsLayout(p)
        collection = l.pageCollection()

        fill = QgsSimpleFillSymbolLayer()
        fill_symbol = QgsFillSymbol()
        fill_symbol.changeSymbolLayer(0, fill)
        fill.setColor(Qt.green)
        fill.setStrokeColor(Qt.red)
        fill.setStrokeWidth(6)

        page = QgsLayoutItemPage(l)
        page.setPageSize('A4')
        page.setPageStyleSymbol(fill_symbol.clone())
        self.assertEqual(collection.pageNumber(page), -1)
        collection.addPage(page)

        # add a second page
        page2 = QgsLayoutItemPage(l)
        page2.setPageSize('A5')
        fill_symbol.setColor(Qt.blue)
        page2.setPageStyleSymbol(fill_symbol.clone())
        collection.addPage(page2)

        doc = QDomDocument("testdoc")
        elem = doc.createElement("test")
        self.assertTrue(collection.writeXml(elem, doc, QgsReadWriteContext()))

        l2 = QgsLayout(p)
        collection2 = l2.pageCollection()

        self.assertTrue(
            collection2.readXml(elem.firstChildElement(), doc,
                                QgsReadWriteContext()))

        self.assertEqual(collection2.pageCount(), 2)

        self.assertEqual(
            collection2.page(0).pageStyleSymbol().symbolLayer(
                0).color().name(), '#00ff00')
        self.assertEqual(
            collection2.page(0).pageStyleSymbol().symbolLayer(
                0).strokeColor().name(), '#ff0000')

        self.assertEqual(
            collection2.page(1).pageStyleSymbol().symbolLayer(
                0).color().name(), '#0000ff')
        self.assertEqual(
            collection2.page(1).pageStyleSymbol().symbolLayer(
                0).strokeColor().name(), '#ff0000')