問題タブ [qjsengine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
124 参照

c++ - QJSEngine グローバル文字列比較

私は Qt 5.11.2 を使用しています。私のアプリケーションでは QJSEngine を使用しています。私の例ではスクリプトがあります。

このスクリプトをアプリケーションのボタンに接続しました。ボタンをクリックすると、スクリプトによって connect() 関数が呼び出されます。スクリプトで使用するグローバルをいくつか登録しました。

ボタンがクリックされたときのスクリプト アプリケーションからの出力は次のとおりです。

「最初のスキャン」は表示されず、変数の型は eval ステートメントに到達していないため文字列のままです。

比較が機能しないのはなぜですか?私はいくつかの選択肢を試しました:

これらのどれも優れていません。比較が機能しないのはなぜですか?

[編集]スクリプトを次のように変更しました。

このようなスクリプトを使用すると、出力に次のように表示されます。

ただし、文字列を「true」と比較する if 条件に比較を追加すると、最初のスキャン条件に渡されません。

[Edit2] グローバル変数「strFirstScan」を作成するコードを次のように変更しました。

これで問題と私のスクリプトが解決されました。

動作します。