ttps://forum.qt.io/topic/52306/qt-5-5-qt-script-deprecated-what-is-replacement/12
> 
> I saw this thread, but it did not seem to offer a clear detail other than to 
> use QJSEngine and QJSValue directly.  Specifically I use 
> qScriptRegisterMetaType very heavy to add custom types.  I know if I am using 
> QML I can use qmlRegisterType<T>(uri, 1, 0, "T") but it only makes the type 
> available via the declarative components.  It also requires the object be a 
> QObject which means sharing pointers.  There is also a problem inside of the 
> Javascript.  It is very cumbersome to dynamically create these types.  I 
> understand I am fighting QML, but my design is not as declarative as it is 
> creating objects that can be passed back into C++.   I may be missing 
> something though.
> 
> As an example below with a type called MyStruct:
> 
> ... Qt Script...
> 
> var myStruct = new MyStruct();
> myStruct.x = 10;
> 
>  ....QML...
> 
> var myStruct;
> var component = Qt.createComponent(???);
>  if (component.status == Component.Ready) {
>         myStruct = component.createObject(parent, {"x": 100, "y": 100});
> }
>   
> What would ??? be?

If MyStruct is just a JS object, then just use JS. function MyStruct(){ return 
{"x": 100, "y": 100}; }; var myStruct = new MyStruct();
You only need createObject when you are creating an object defined in C++ or 
dynamic object from QML.

_______________________________________________
Interest mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to