[webkit-qt] Nested objects with QtWebKit bridge

Loïc Yhuel loic.yhuel_ext at softathome.com
Wed Aug 24 06:03:26 PDT 2011


In fact I didn't understand this correctly : I thought it was 
restricted to pure QObject, but Q_INVOKABLE methods from the subclass 
can be enumerated and used from a QObject* without knowing which 
subclass it is.
Le mercredi 24 août 2011 14:41:21, noam.rosenthal at nokia.com a écrit :
> You can use a property, but it would have to be of type QObject* or QVariant; There's no smarts to figure out that a QObject subclass should be treated like a QObject.
> No'am
> 
> On Aug 24, 2011, at 5:36 AM, ext Loïc Yhuel wrote:
> 
>> Le mercredi 24 août 2011 13:36:23, Andrew Webster a écrit :
>>>
>>> On Wed, Aug 24, 2011 at 6:42 AM, Loïc Yhuel
>>> <loic.yhuel_ext at softathome.com>  wrote:
>>>>
>>>> Hi,
>>>>
>>>> I want to define Q_INVOKABLE methods f1 and f2 in C++, which can be
>>>> called
>>>> in JS by A.f1() and A.B.f2()
>>>>
>>>> As explained in the documentation, I can't add B class as a property
>>>> of A.
>>>> The only workaround I found is :
>>>> webFrame->addToJavaScriptWindow
Object("A", myA);
>>>> webFrame->addToJavaScriptWindowObject("_B", myB);
>>>> webFrame->evaluateJavaScript("A.B = _B");
>>>>
>>>> I there a better way ?
>>>
>>>
>>> If you make myA the parent object of myB and give myB the objectName
>>> "B", then you should be able to access it from JS using "A.B". When
>>> accessing a JS property of a QObject, Q_PROPERTYs and named children
>>> get searched for a match.
>> Thanks.
>> I'm suprised, since it doesn't work with Q_PROPERTY (I have to use to
>> Q_DECLARE_METATYPE/qRegisterMetatype, and then A.B is empty), but using
>> object children and objectName works.
>>>
>>>
>>> Andrew
>>
>>
>> _______________________________________________
>> webkit-qt mailing list
>> webkit-qt at lists.webkit.org
>> http://lists.webkit.org/mailman/listinfo.cgi/webkit-qt




More information about the webkit-qt mailing list