<div dir="ltr">Hey Phil, <br><br>The error had actually been easier explained making a short example from the beginning... <br><br>Attatched is the sources for a very small program that demostrate what I mean. <br>The introspection is done just by printing to the console. <br>I print out in 2 sections - the first "makes sence" with the new source, <br>the second makes sence with the old sources. <br><br>You will notice in the second - with the old sources - the result from the "getStuff" function is python dicts and lists.<br><br>Which if a much cleaner interface than the QJSValues the getStuff returns with the nevest sources.. :-)<br><br><br>My output is here: <br><br>This is the console output from the program executed on the newest sources: <br>Remark, the data is a QJSValue.... all is returning QJSValues...<br><br>------------- 8< ---------------<br><br>running section 1<br>print( data ) :<br><PyQt5.QtQml.QJSValue object at 0x7f2563921898><br>print( data.property( "good" ) ) :<br><PyQt5.QtQml.QJSValue object at 0x7f2563921908><br>print( data.property( "texts" ) ) :<br><PyQt5.QtQml.QJSValue object at 0x7f2563921908><br>-- finish running section 1 -- <br><br>running section 2<br>print( data ) :<br><PyQt5.QtQml.QJSValue object at 0x7f2563921898><br>print( isinstance( data , dict ) ) :<br>False<br>print( data["good"] )<br>-- error running section 2 --<br>'QJSValue' object is not subscriptable<br><br>------------- >8 ---------------<br><br><br><br>Here on the "old" sources from november...<br>Remark, data is a python dict...<br><br>------------- 8< ---------------<br><br>running section 1<br>print( data ) :<br>{'texts': [<PyQt5.QtCore.QObject object at 0x7f1d6c11fc18>], 'good': 'yes'}<br>print( data.property( "good" ) ) :<br>-- error running section 1 -- <br>'dict' object has no attribute 'property'<br><br>running section 2<br>print( data ) :<br>{'texts': [<PyQt5.QtCore.QObject object at 0x7f1d6c11fc18>], 'good': 'yes'}<br>print( isinstance( data , dict ) ) :<br>True<br>print( data["good"] )<br>yes<br>print( isinstance( data["texts"] , list ) )<br>True<br>print( data["texts"][0].property( "text" ) )<br>cute cute cute<br>-- finish running section 2 --<br><br>------------- >8 ---------------<br><br><br>If you need more information or tests, please let me know....<br><br>Best Regards,<br><br>Brian<br><br><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 2, 2015 at 2:15 PM, Phil Thompson <span dir="ltr"><<a href="mailto:phil@riverbankcomputing.com" target="_blank">phil@riverbankcomputing.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On 29/12/2014 9:14 pm, B. B. wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello Phil,<br>
<br>
I just updated, to the newest versions available.<br>
<br>
Qt :<br>
 5.3 -> 5.4<br>
<br>
PyQt :<br>
PyQt-gpl-5.4-snapshot-<u></u>15b37c22d541  ( from around 17 of november ) -><br>
PyQt-gpl-5.4<br>
<br>
Sip:<br>
sip-4.16.5-snapshot-<u></u>c005a6d2e53e ( around 17 of november ) -><br>
sip-4.16.6-snapshot-<u></u>0e9e078d2d18<br>
<br>
<br>
In python, I have access to a PyQt5.QtQuick.QQuickItem, got from qml<br>
through a slot.<br>
<br>
On the QQuickItem object, I call javascript functions, definded in qml, for<br>
example like thisone:<br>
<br>
qml:<br>
--------------------<br>
1<br>
Item {<br>
<br>
        function thisone( ) {<br>
            return { prefix : "goods" , items : [ idOfItemX, idOfItemY ] }<br>
        }<br>
<br>
}<br>
---------------------<br>
<br>
I mean, I call in python, on the python QQuickItem. like :<br>
myResult = myPythonQQuickItem.thisone().<br>
<br>
In the earlier version, the myResult was a python dict, and myResult[<br>
"items" ] was a python list<br>
containing PyQt5.QtQuick.QQuickItem objects<br>
<br>
In the newes version, I only get a myResult is a PyQt5.QtQml.QJSValue, and<br>
one have to do the "marchalling" oneself.<br>
<br>
<br>
Is this "lack of automatic marchalling to obvious python types" a change<br>
that is going to stay, or is it just an regression in the newest sources<br>
????<br>
<br>
<br>
using python3.4, the "problem" verified on linux and Mac...<br>
</blockquote>
<br></div></div>
Can you send me a short, complete example that demonstrates the problem.<br>
<br>
Phil<br>
______________________________<u></u>_________________<br>
PyQt mailing list    <a href="mailto:PyQt@riverbankcomputing.com" target="_blank">PyQt@riverbankcomputing.com</a><br>
<a href="http://www.riverbankcomputing.com/mailman/listinfo/pyqt" target="_blank">http://www.riverbankcomputing.<u></u>com/mailman/listinfo/pyqt</a></blockquote></div><br></div>