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

Matthias Kuhn matthias at opengis.ch
Sat Nov 14 01:52:50 PST 2015


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.

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 <mailto: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 <mailto: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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20151114/93eb322a/attachment.html>


More information about the Qgis-developer mailing list