def testRenderMarker(self): item = QgsAnnotationPointTextItem('my text', QgsPointXY(12.3, 13.2)) format = QgsTextFormat.fromQFont(getTestFont('Bold')) format.setColor(QColor(255, 0, 0)) format.setOpacity(150 / 255) format.setSize(20) item.setFormat(format) item.setAngle(30) item.setAlignment(Qt.AlignRight) settings = QgsMapSettings() settings.setDestinationCrs(QgsCoordinateReferenceSystem('EPSG:4326')) settings.setExtent(QgsRectangle(10, 10, 16, 16)) settings.setOutputSize(QSize(300, 300)) settings.setFlag(QgsMapSettings.Antialiasing, False) rc = QgsRenderContext.fromMapSettings(settings) image = QImage(200, 200, QImage.Format_ARGB32) image.setDotsPerMeterX(96 / 25.4 * 1000) image.setDotsPerMeterY(96 / 25.4 * 1000) image.fill(QColor(255, 255, 255)) painter = QPainter(image) rc.setPainter(painter) try: item.render(rc, None) finally: painter.end() self.assertTrue( self.imageCheck('pointtext_item', 'pointtext_item', image))
def testReadWriteXml(self): doc = QDomDocument("testdoc") elem = doc.createElement('test') item = QgsAnnotationPointTextItem('my text', QgsPointXY(12, 13)) item.setAngle(55) item.setAlignment(Qt.AlignRight) item.setZIndex(11) format = QgsTextFormat() format.setSize(37) item.setFormat(format) item.setUseSymbologyReferenceScale(True) item.setSymbologyReferenceScale(5000) self.assertTrue(item.writeXml(elem, doc, QgsReadWriteContext())) s2 = QgsAnnotationPointTextItem.create() self.assertTrue(s2.readXml(elem, QgsReadWriteContext())) self.assertEqual(s2.text(), 'my text') self.assertEqual(s2.point().x(), 12.0) self.assertEqual(s2.point().y(), 13.0) self.assertEqual(s2.angle(), 55.0) self.assertEqual(s2.alignment(), Qt.AlignRight) self.assertEqual(s2.zIndex(), 11) self.assertEqual(s2.format().size(), 37) self.assertTrue(s2.useSymbologyReferenceScale()) self.assertEqual(s2.symbologyReferenceScale(), 5000)
def testClone(self): item = QgsAnnotationPointTextItem('my text', QgsPointXY(12, 13)) item.setAngle(55) item.setAlignment(Qt.AlignRight) item.setZIndex(11) format = QgsTextFormat() format.setSize(37) item.setFormat(format) item2 = item.clone() self.assertEqual(item2.text(), 'my text') self.assertEqual(item2.point().x(), 12.0) self.assertEqual(item2.point().y(), 13.0) self.assertEqual(item2.angle(), 55.0) self.assertEqual(item2.alignment(), Qt.AlignRight) self.assertEqual(item2.zIndex(), 11) self.assertEqual(item2.format().size(), 37)
def testBasic(self): item = QgsAnnotationPointTextItem('my text', QgsPointXY(12, 13)) self.assertEqual(item.text(), 'my text') self.assertEqual(item.point().x(), 12.0) self.assertEqual(item.point().y(), 13.0) item.setText('tttttt') item.setPoint(QgsPointXY(1000, 2000)) item.setAngle(55) item.setAlignment(Qt.AlignRight) item.setZIndex(11) format = QgsTextFormat() format.setSize(37) item.setFormat(format) self.assertEqual(item.text(), 'tttttt') self.assertEqual(item.point().x(), 1000.0) self.assertEqual(item.point().y(), 2000.0) self.assertEqual(item.angle(), 55.0) self.assertEqual(item.alignment(), Qt.AlignRight) self.assertEqual(item.zIndex(), 11) self.assertEqual(item.format().size(), 37)