1. 程式人生 > >Windows下PythonQt編譯(vs2015+Qt5.11.2+PythonQt 3.2)

Windows下PythonQt編譯(vs2015+Qt5.11.2+PythonQt 3.2)

測試的 pat qt 5 圖片 引入 以及 .org add info

時間:2018年10月22日,學習任何物事都有個探索過程。歡迎留言探討。

  在Qt程序中,添加python進行混合編程,可以使用Python API,但交互起來很麻煩,不友好。網上推薦使用PythonQt框架。

強調下:

PythonQt,方便Qt C++程序員,將python引入項目

PyQt PySide,給python程序員,將Qt界面引入項目

本機環境:

  1、win7 64 旗艦版

  2、Qt 5.11.2(MSVC 2015,32 bit)

  3、Python 3.7.0 (32-bit)

  4、PythonQt 3.2

準備工作:

1、安裝最新Qt5.11.2,地址http://download.qt.io/archive/qt/5.11/ ,直接下載鏈接。

http://download.qt.io/archive/qt/5.11/5.11.2/qt-opensource-windows-x86-5.11.2.exe

2、PythonQt是發布在Sourceforge上的一款開源的連接Qt與Python的框架,主頁地址http://pythonqt.sourceforge.net ,目前更新到版本3.2,直接下載鏈接:https://sourceforge.net/projects/pythonqt/files/latest/download,下載後解壓。

3、下載Python 3.7.0 主頁地址https://www.python.org/downloads/ ,直接下載鏈接:https://www.python.org/ftp/python/3.7.0/python-3.7.0.exe ,安裝時記得勾選” Add Python 3.7 to PATH

”以便註冊環境變量。

編譯前準備:

  修改\PythonQt3.2\build下文件內容,原因是筆誤或者未經測試的寫法。

1、修改python.prf,修改python版本號,添加PYTHON_PATH,PYTHON_LIB,註意不能簡單設定路徑,還要改set 臨時環境變量為變量的用法,就是$$()變為$${},修改前後見下圖

技術分享圖片

2、修改PythonQt.prf,修改被拼錯的路徑,改為DESTDIR(vs和qt creator生成中間文件的目錄不一致的,使用DESTDIR就一致了),如下圖:

技術分享圖片

3、修改PythonQt_QtAll.prf,修改拼寫錯誤,如下圖所示:

技術分享圖片

4、修改PythonQt3.2\src\src.pro

生成的lib dll 有後綴3的問題,即添加CONFIG += skip_target_version_ext

技術分享圖片

5、修改\PythonQt3.2\extensions\PythonQt_QtAll.pro 技術分享圖片

開始編譯:

方法1、使用VS編譯,右鍵管理員運行createSolution.bat,使用vs打開PythonQt.sln,註意因為Python是二進制安裝包,不是使用Qt編譯源碼來的,所以工程只能設置為Release,否則會提示Python_d.lib找不到。

編譯PythonQt-Qt5-Python37,生成PythonQt-Qt5-Python37.lib和PythonQt-Qt5-Python37.dll

編譯PythonQt_QtAll-Qt5-Python37,生成PythonQt_QtAll-Qt5-Python37.lib,PythonQt_QtAll-Qt5-Python37.dll

技術分享圖片

然後編譯整個工程都會成功

技術分享圖片

方法2、使用Qt creator(vs2015),編譯PythonQt.pro

打開PythonQt.pro,註意工程要選擇Release

技術分享圖片

右鍵PythonQt,構建,需要註意與vs編譯不同的是,lib的生成目錄,會變為上級目錄的\build-PythonQt-Desktop_Qt_5_11_2_MSVC2015_32bit-Release\lib

技術分享圖片

OVER

參考資料/文獻:

PythonQt Building http://pythonqt.sourceforge.net/Building.html

PythonQt Introduction http://pythonqt.sourceforge.net/index.html

將Python嵌入到Qt程序中 https://my.oschina.net/u/2306127/blog/369663

編譯PythonQt的一點心得 https://blog.csdn.net/x18722498005/article/details/50975481

關於PythonQt3.1在Windows中的編譯 https://blog.csdn.net/wcs20wp/article/details/62216103#commentBox

PythonQt在windows下的編譯 https://www.cnblogs.com/zhangzhiming/p/5407644.html

編譯PythonQt的一點心得 https://blog.csdn.net/x18722498005/article/details/50975481

QT的pro文件編寫,高效簡潔,,路徑設置 有空格 引入系統環境變量 https://blog.csdn.net/zkl99999/article/details/61197930

PythonQT 3.2 build failing on Windows https://sourceforge.net/p/pythonqt/discussion/631393/thread/45d39c91/

PythonQt使用
在Qt(C++)中與Python混合編程 https://www.cnblogs.com/xia-weiwen/p/7932379.html
PythonQt試用手記 https://blog.csdn.net/jingwenlai_scut/article/details/5325448
PythonQt進階 http://www.cnblogs.com/zhangzhiming/p/5409284.html

C/C++使用Python API 方式與Python交互

C++調用Python淺析 https://blog.csdn.net/magictong/article/details/8947892
QT C++中直接調用python接口 https://blog.csdn.net/xiranchen/article/details/41843609
Qt與Python的混合編程相關配置以及問題說明 https://blog.csdn.net/chyuanrufeng/article/details/77753733
Qt中使用python--Hello Python! https://www.cnblogs.com/kaikai-king/p/7976339.html
QT中 使用c++調用 python http://www.cnblogs.com/shenghl/p/4442528.html
Qt+Python混合編程 https://blog.csdn.net/qq_29176963/article/details/82776575#_216

Windows下PythonQt編譯(vs2015+Qt5.11.2+PythonQt 3.2)