2

C++で記述されたクラスとパブリックメソッドを備えたライブラリがあります。

C ++とQtで記述された対話型プログラムの内部から、Python言語のパーサーにコマンドを送信し、パーサーがそれらをライブラリのメソッドと関数の呼び出しに変換したいと思います。

Octave / Matlabで行われていることと似たようなもので、文字列はパーサーによって処理され、パーサーはコマンドを内部で実行します。

C++ライブラリのどこかに関数があります

int myFooCPPfunction(int value)
{
    return value*value;
}

次に、プログラムの実行中に、コンソールを起動してPython構文を入力します。

for i in range(0,20):
    print("%d" % myFooCPPfunction(i))

次に、私が与えたコマンドは、たとえば私のプログラムの内部状態を更新します。

C++にリンクするPythonコードを書くのは問題だと思います。boost::pythonのようなものはすでにそれをしているように私には思えます...バインディングを書くためのより良い方法についてあなたの提案をお願いします。

2番目のポイント:Qtアプリケーションから起動されたインタラクティブシェルにそのことを統合する方法は?QConsoleのようないくつかのオンラインプロジェクトは同様のことをするはずですが、QConsoleは非常に時代遅れのプロジェクトのようです。

ありがとうございました!

4

1 に答える 1

3

PythonQtは、まさにこの目的のために作成されました。

于 2012-05-29T06:34:28.103 に答える