2012-05-28 33 views
2

我有一個用C++編寫的類和公共方法的庫。爲C++庫集成python腳本控制檯

我希望從用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這樣的東西已經做到了這一點......我問你的建議,哪個更好的方式來編寫綁定。

第二點:如何將這件事整合到從Qt應用程序啓動的交互式shell中?一些像QConsole這樣的在線項目應該做類似的事情,但是QConsole似乎是一個非常過時的項目。

謝謝!

回答

3

PythonQt就是爲此而創建的。

+0

特別是示例PyScriptingConsole做我打算的工作,謝謝你的建議 – linello