2

我需要访问未标记为 Q_INVOKABLE 或 Q_SLOTS 的函数。Qt 脚本模块具有称为defaultPrototype的机制。我想知道在 QML 中是否可能?

我看到 QtDevDays 展示了QtDD12 - QtQuick under the hood - Thomas McGuire并在 18 分钟时,Thomas 展示了纯 QML 小部件应用程序。我认为如果不将一些不可调用的函数导出/公开到脚本环境,你就无法实现它。

QML 中是否有类似 QtScript 中的 defualtPrototype 的机制?

4

1 回答 1

2

QML 在后台使用 Qt Script,因此使用默认原型机制是完全可能的。唯一的问题是获取声明式引擎的脚本引擎,因为它们没有明显的 API。看看 libkdeclarative 中的代码,尤其是KDeclarative::initialize(),对于一个可行的 hack 这样做。

于 2013-01-03T08:30:26.580 回答