[Qgis-developer] TypeError: C++ type 'QgsFeatureIds' is not supported as a signal argument type

Nyall Dawson nyall.dawson at gmail.com
Sat Nov 14 02:01:16 PST 2015


On 14 November 2015 at 20:52, Matthias Kuhn <matthias at opengis.ch> wrote:
> Hi,
>
> Sometimes there is quiet a lot of traffic on this list and some questions
> get forgotten. Or simply nobody knows the answer. Don't take it personal :-)
>
> I don't know if that's the reason, but you should use new-style signals.

It may have already been resolved by Jürgen in:

https://github.com/qgis/QGIS/commit/b5794b2f2ddc2eae746ad67eac8e899c44963d7c

Any chance you could test with the latest master version and confirm?

Nyall




>
> iface.activeLayer().committedFeaturesRemoved.connect(listener)
>
> Maybe it helps.
>
> Best,
> Matthias
>
>
>
> On 11/13/2015 09:18 AM, //./\\-/_.\\ wrote:
>
> Hi developers,
>
> With OSX, QGIS 2.8.3 and higher, I found an error  what appears to be a
> regression (perhaps).
> And with QGIS 2.12, the problem persists.
>
> So, if you want to try to reproduce the error, open python console and try
> (with any active layer on editing mode):
>
>>>> layer = iface.activeLayer()
>>>> def listener(s, l):
>>>>     print s, l
>
> Then,
>
>>>> layer.committedFeaturesRemoved.connect(listener)
>
> Or
>
>>>> from PyQt4.QtCore import QObject
>>>> from PyQt4.QtCore import SIGNAL
>>>> QObject.connect(layer, SIGNAL(r"committedFeaturesRemoved(QString,
>>>> QgsFeatureIds )"), listener)
>
> It returns this error: “TypeError: C++ type 'QgsFeatureIds' is not supported
> as a signal argument type”
>
> My English is so bad that nobody wants to answer me?
>
> m431m
>
>
>
> 1. Oct 2015 16:22 de m431m at tutanota.com:
>
> Hi,
> No Mac user able to reproduce the error? Am i the only one?
> m431m
>
> 25. Sep 2015 13:50 de m431m at tutanota.com:
>
> Hi QGIS developers!
>
> I got strange error with the 'commitedFeaturesRemoved' signal.
> See:
> http://www.qgis.org/api/classQgsVectorLayer.html#a520550b45603ed20d593b1050768bd97
>
> I try on python console (with any active layer on editing mode):
>>>> layer = iface.activeLayer()
>>>> def listener(s, l):
>>>>     print s, l
>>>> layer.committedFeaturesRemoved.connect(listener)
>
> It returns `TypeError: C++ type 'QgsFeatureIds' is not supported as a signal
> argument type`
>
> Now replace `layer.commitedFeaturesRemoved.connect(listener)`by:
>>>> from PyQt4.QtCore import QObject
>>>> from PyQt4.QtCore import SIGNAL
>>>> QObject.disconnect(layer, SIGNAL(r"committedFeaturesRemoved()"),
>>>> listener)
>
> No error, but it returns `False`.
>
> If I delete some features and switch off editing mode, it returns nothing!
> No print! The signal doesn't work(?)
>
> After exchanging a few message with some people on irc #qgis, the error only
> appears with latest QGIS version on OSX10.10.5. (it works well with 2.8.2).
>
> Maybe someone that has approached the same problem... and solved it?
>
> m431m
>
>
>
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer
>
>
> --
> Matthias Kuhn
> OPENGIS.ch - https://www.opengis.ch
> Spatial • (Q)GIS • PostGIS • Open Source
>
>
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer


More information about the Qgis-developer mailing list