On 05/01/2009 05:33 PM, Phil Thompson wrote:
On Thu, 23 Apr 2009 02:31:39 +0200, Henning Schröder
<[email protected]> wrote:
On Tue, Apr 21, 2009 at 2:15 AM, Ori Avtalion<[email protected]> wrote:
Hi,
I'm trying to create a Qt object that will be exposed to javascript.
I want that javascript object to be complex: It has nested objects
inside it, and has arrays with other objects in them.
I'm not sure how to define the properties for the top object that I
expose. pyqtProperty doesn't accept "QVariant". (It returns the error
"TypeError: type 'QVariant' is not supported as a property type")
Dynamic properties via setProperty use variants but I think it does
not work correctly for objects and widgets. It seems that the type is
not set to QMetaType::QObjectStar or QMetaType::QWidgetStar in the
constructor. At least QtScript does not recognize the variant as a
object or widget (see app property in attached example - the C++
equivalent would work this way).
I think this is fixed in tonight's snapshot.
If there is anything else that you don't think works properly then please
let me know.
Actually, with version 4.5.1-snapshot-20090614 and sip 4.8.1 perhaps
there's a regression.
This method, when called from javascript, will return an empty string
instead of a javascript object.
It used to return a javascript object in 4.4.4
@pyqtSignature("fun()", result="QVariant")
def fun(self):
return QVariant({"one":1,
"arr":[1,2,{"three":3}],
"obj":{"foo":"bar"}
})
-Ori
_______________________________________________
PyQt mailing list [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt