我们可以在javascript中使用自定义的qbject派生类作为类型吗?

时间:2013-11-28 10:57:51

标签: qt qml

让我们知道我有一个QObject派生类:

Class Person : public QObject 
{
Q_OBJECT
Public:
QString _name;
Int _age;
}

然后在我的代码中的某个地方我将这个类注册到上下文中: ... setContextProperty(“_ Person”,new Person(qApp));

有什么办法可以将_Person用作javascript表达式中的类型?像是这样的东西:

function f() {
var p = // function that returns a _Person
p._name = "John Smith"
}

我知道我们可以通过“_Person”在组件内部使用新Person()创建的对象,但是如果我想在javacript函数中访问_name和_age呢?

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为您需要将_name和_age定义为properties

herehere示例。

请注意,将需要scriptable属性: -

  

SCRIPTABLE属性指示脚本引擎是否应该可以访问此属性(默认为true)。您可以指定布尔成员函数,而不是true或false。