作者:虛壞叔叔
博客:https://xuhss.com
早餐店不會開到晚上,想吃的人早就來了!
QT
項目創建一個項目PyPlayer
:
選擇QWidget
:
為了後面調試的方便,將子系統設置為控制台
:
從之前的cpp_call_py
項目,將python
的環境拷貝到Pyplayer
中:
添加./include
,引入python
的頭文件目錄:
初始化python
的環境
#include <Python.h>
#include "PyPlayer.h"
PyPlayer::PyPlayer(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
Py_SetPythonHome(L"./");
Py_Initialize();
}
添加python
文件pyqt.py
pyqt.py
的內容如下:
print("Python PyPlayer")
#主函數 在子線程中調用,線程是c++創建
def main():
print("Python main")
在c++
端載入模塊:
#include <Python.h>
#include "PyPlayer.h"
static PyObject *pModule = 0;
PyPlayer::PyPlayer(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
Py_SetPythonHome(L"./");
Py_Initialize();
// 載入模塊
pModule = PyImport_ImportModule("pyqt");
if (!pModule)
{
printf("PyImport import error");
PyErr_Print();
return;
}
// 開啟線程 調用python的 main函數
}
可以看到載入模塊成功了:
QT
創建了項目並引入python,並且這個項目加載python模塊。點贊
收藏
轉發
一波哦,博主也支持為鐵粉絲制作專屬動態壁紙哦~關注下面卡片即刻獲取更多編程知識,包括各種語言學習資料,上千套PPT模板和各種游戲源碼素材等等資料。更多內容可自行查看哦!