linux下qt用c++呼叫python

xia_xia_mg發表於2018-04-24

看了很多篇這樣的文章,但都沒有找到適合自己的,今天就自己通過經驗去嘗試,結果配置出來了,可以進行下一步,現在記錄一下過程,方便下次配置,也希望能對你們有用。

首先確保你的linux系統下正確安裝了python和qt 

我的qt版本是5.8.0  然後python版本是3.5.0的  

先新建一個qt的專案,然後右鍵點選新增庫,選擇外部庫


然後

庫檔案的路徑就是一般是在usr/lib/python3.5/config-3.5m-x86_64-linux-gnu  然後選擇libpython3.5m.a

包含路徑選擇  /usr/include/python3.5

這裡如果你們安裝的時候不是安裝在usr下的話,可以先在終端輸入  locate libpython   確認位置再新增


新增好路徑 平臺後,點選下一步,點選完成就可以了,這個時候  .pro 裡面就已經自動生成了python的庫和路徑了。


這個時候新增python的標頭檔案和函式,構建執行一下,沒有錯誤就ok了


接下來是報錯的解決問題,一般都是會遇到一個問題就是 object.h裡的一個定義和qt的全域性slots衝突,這時就只需修改那個object.h的slots名字就可以了

錯誤如下


雙擊錯誤 跳轉


改為隨便一個英文名字就可以了,這個幾乎不會用到。


更改後儲存,要說的是,如果你的這個檔案有防寫的話,在這裡更改是更改不了的,要去到該資料夾下,把檔案的屬性改為可讀可寫可執行   

先去到計算機,開啟usr這個資料夾,     usr/include



選擇終端開啟,   輸入   chomd -R 777 python3.5/          (將該資料夾下的所有檔案改為可讀可寫可執行)  許可權不夠就在前面加  sudo

更改好之後就開啟資料夾,找到object.h   然後在裡面找到那個slots     更改儲存即可,


好了,回到qt重新載入,編譯就可以通過了



好了,希望以上內容對你們有幫助,拜了拜。

相關文章