创建除初始化外其属性为只读的QML类型? 我想在C++中实现QML类型。所述QML类型应该从组件或类似组件加载,如下所示: Component { id: jesseMaker JesseType { id: doge something: "wow" oops: 67 yes: "hurray" } }
注意,这个初始化没有什么不寻常的地方但是,我还希望以下JavaScript在指定的点处无效:创建除初始化外其属性为只读的QML类型? 我想在C++中实现QML类型。所述QML类型应该从组件或类似组件加载,如下所示: Component { id: jesseMaker JesseType { id: doge something: "wow" oops: 67 yes: "hurray" } },c++,qt,qml,qt-quick,qproperty,C++,Qt,Qml,Qt Quick,Qproperty,注意,这个初始化没有什么不寻常的地方但是,我还希望以下JavaScript在指定的点处无效: function somewhereElse() { var thing = jesseMaker.createObject(this, {"something": "yay"}); // OK thing.oops = 12; // Should be an ERROR, as if this Q_PROPERTY had no WRITE } 为了实现我的既定目标,我如何定义相关属性?您是
function somewhereElse() {
var thing = jesseMaker.createObject(this, {"something": "yay"}); // OK
thing.oops = 12; // Should be an ERROR, as if this Q_PROPERTY had no WRITE
}
为了实现我的既定目标,我如何定义相关属性?您是否尝试过在
JesseType
组件中将oops
属性设置为readonly
?子类仍然可以覆盖只读属性,但不能覆盖外部属性。只是一个想法!我想那是不可能的。如果是静态或动态创建,则属性可见性没有区别。因此,如果属性是只读的(您所期望的),您也不能在初始化时设置它。