Qmlのvariantとvarの対比
816 ワード
なぜQt Quick 2の変数定義がvarに変更されたのですか?続いてvariantを使いませんか?それらの違いを見ましょう.
QtQuick 1.x オブジェクトがvariant変数に割り当てられると、QVarantMapに変換されます. は、javascriptからこの属性にアクセスすると、QVariantMapがJSオブジェクトに変換されることになる. javascriptの関数は、特別なJS値(null、undefined)は、「property variant」タイプの属性に格納できません. QtQuick 2.x は、C+(QObject:property()またはQQmlProperty:read()からアクセスした場合のみ、QVarantに変換される(他のJS値をQVariantに変換する変換規則は同じ). は、C+++エンドでタイプを実装する際に、QJSValueクラスを属性/方法パラメータとして使用して、C++とQML/JSとの間で値を伝送し、タイプ/データロスを引き起こすことなく使用することができる. 締め括りをつける
ref:https://wiki.qt.io/Property-var
QtQuick 1.x
property variant
内部はQVariaantである.property var
内部は、javascript値である.property var
は、関数参照を含むjavascriptを作成するすべてのコンテンツをサポートしています.property var
を使用すると、より大きな役割を果たし、不必要な変換を回避し、より良い性能を発揮します.ref:https://wiki.qt.io/Property-var