Могу ли я использовать QScriptEngine.toScriptValue с QPointer для QObject?
В документации по работе с QtScript и преобразованию туда и обратно между значениями скрипта и C++ упоминается, что вы можете использовать QScriptEngine.toScriptValue с типом QObject * и заставить его работать автоматически, приводя объект и возвращая ссылку на скрипт соответственно. Имеет ли это то же самое поведение с QPointer<QObject>
или я должен создать свой собственный метатип? Если да, то работает ли он также для работы с QPointers для подкласса QObject?
Главное, что меня интересует, это то, будут ли свойства, объявленные с использованием Q_PROPERTY подкласса QObject, автоматически переноситься в сценарий, если я вызову QScriptEngine.toScriptValue на QPointer для экземпляра подкласса вместо обычного указателя.
1 ответ
Мне пришлось создать свой собственный метатип скрипта, чтобы QPointer был конвертирован правильно, он не работал из коробки. Тем не менее, в документации Qt упоминается, что нет никакого смысла указывать указатели как QPointers вне инициализации, так как QPointers можно обрабатывать так же, как обычные указатели, так что все это могло бы быть бессмысленным.