Viac

Prečo openFeatureForm havaruje QGIS?

Prečo openFeatureForm havaruje QGIS?


Pracujem na doplnku Qgis s pythonom,

Vytváram prvok a zobrazujem formulár prvku na úpravu atribútov. Ale poopenFeatureFormfunkcia zavolajte haváriu programu a zatvorte ho

line = QgsFeature () line.setGeometry (QgsGeometry.fromPolyline (transformedLine)) pr = parcoursLayer.dataProvider () pr.addFeatures ([line]) qgis.utils.iface.openFeatureForm (parcoursLayer, line)


tu čelíme rovnakému problému. Zdá sa, že to súvisí s chybou v PyQt4.

Riešenie nájdete v komentári k metóde preloadForm tu:

http://qgis.org/api/classQgisInterface.html

a tu problém nastolený na QT / Pyqt 4 spoločnosťou NathanW:

http://forum.qt.io/topic/26562/crash-calling-c-method-using-quiloader-from-pyqt4


Pred nastavením geometrie „transformedLine“ si ju vyskúšajte vytlačiť. Tento objekt by mal mať podobnú formu (ak je premietaný v metroch) ako (pre jednu funkciu):

[(366179,4.46968e+06), (357711,4,44966e+06), (363870,4,43041e+06), (382100,4,41947e+06), (396590,4,41078e+06)]

Zoznam QgsPoint.

Ďalšia zvláštna vec je v:

pr.addFeatures ([riadok])

Míňate zoznam, v ktorom sa očakáva funkcia, ale metóda „addFeatures“ v nej neexistuje Poskytovateľ QgsData. Je to v QgsVectorLayer. Normálne by to bolo:

feat = QgsFeature () feat.setGeometry (QgsGeometry.fromPolyline (transformedLine)) feat.setAttributes ([1]) #jedna funkcia s id = 1; niekoľko funkcií v slučke your_layer.addFeature (feat, True)

Pozri si video: QGIS - Polygonize - Raster to Vector