3

2D ゲーム フレームワーク(QML 拡張機能) の一部のベンチマークを作成しようとしていますが、QOBject の宣言型スクリプト プロパティを設定する際に問題が発生しています。

プロパティ宣言:

Q_PROPERTY(QDeclarativeScriptString script READ script WRITE setScript NOTIFY scriptChanged)

そして、スクリプトを変更しようとする私の試みの1つは、次のようなものです。

ScriptBehavior *behavior = new ScriptBehavior(entity);
QDeclarativeProperty(behavior, "script").write("console.log(1);");

しかし、うまくいきません (ベンチマークを実行しますが、コンソールには何も書き込まないでください)。

setProperty を使用して QDeclarativeScriptString を手動で作成し、プロパティを設定しようとしましたが、何も機能しません。

QDeclarativeScriptString を作成しようとすると、失敗します。

コード:

ScriptBehavior *behavior = new ScriptBehavior(entity);
QDeclarativeScriptString scriptString;
scriptString.setScript("console.log(1)");
behavior->setScript(scriptString);

出力:

QFATAL : UpdateBenchmark::behavior() Received signal 11
FAIL!  : UpdateBenchmark::behavior() Received a fatal error.
   Loc: [Unknown file(0)]

何か助けはありますか?

ありがとう

4

0 に答える 0