0

Itemsに接続するダイアグラム モデリング ツールを作成していTasksます。アイテムにはProperties(単純な名前と値の関係) があり、タスクには がありますFormulas。ユーザーがC++ 構文 (つまり ) を使用しQLineEdit(property1 * property2)/property3を記述し、結果を出力するための UI を作成する予定です。もちろん、結果を出力するには、何らかの形で数式を解析して計算する必要があります。

これに関する私の懸念は、使用QScriptEngineがこれに適しているかどうかです。を使用して計算を実行するために使用できることがevaluate()わかりました。4 つの「通常の」操作 (+、-、​​、および /) に加えて、おそらく必要であるsqrt()と予想しているだけpow()ですが、どうやら、Math評価文字列内でも使用できるようです。

また、これらの数式を保存して復元する必要がQStringsあるため、ファイルへの書き込み/ファイルからの読み取りが必要になるため、その目的として処理することを検討していました。

これは良いアプローチだと思いますか?このタイプの目的について、良い読み物として何を提案しますか?

4

1 に答える 1

1

はい、このアプローチは良いです。私は同様のタスクにそれを使用しました。QScriptEngineC++ 構文ではなく、JavaScript 構文を使用することに注意してください。しかし、JavaScript 構文は強力であり、ユーザー定義式の通常のニーズを満たします。通常の演算子、数学関数、括弧、ローカル変数などをサポートしています。

に数式を保存できますQString。同じ式を複数回実行する必要がある場合は、 を使用QScriptProgramして式をコンパイルしてから実行する必要があります。

于 2013-06-27T10:57:11.213 に答える