配置QT的工具链
找到你安装python的目录,在这里我的是C:\Users\glass\AppData\Local\Programs\Python\Python310文件夹复制include文件夹和libs文件夹

创建一个新的隔离环境,并将include文件夹和libs文件夹,复制进入新的隔离环境

进入QT打开最上方工具,点击选项
在步骤3中点击添加目录,添加工具,双击可以修改名字,这里我都修改成了python3.10

修改参数
点击apply应用配置
测试工具链
新建一个QT for Python -EMPTY工程,注释所有内容,写入print(“test”)

点击上方的工具运行

链接python文件
目录下新建一个xxx.py

写入如下代码

1 2
| def test0(): print("test")
|
进入QT目录,修改QT的.pro文件,新增三条语句,运行
1 2 3
| DEPENDPATH += -I E:\Project\Take_orders\common_python_Interpreter\include(之前隔离解释器的路径) INCLUDEPATH += -I E:\Project\Take_orders\common_python_Interpreter\include(之前隔离解释器的路径) LIBS += -LE:\Project\Take_orders\common_python_Interpreter\libs -lpython310(之前隔离解释器的路径)
|
在main.c内添加头文件Python.h,Python.h需要在QApplication之前
在main()内添加如下函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show();
SQL_Connect SQL_Connect;
Py_Initialize(); if ( !Py_IsInitialized() ){ return -1; } PyRun_SimpleString("import sys"); PyRun_SimpleString("sys.argv = ['python.py']"); PyRun_SimpleString("sys.path.append('./')");
PyObject* pModule = PyImport_ImportModule("mysql"); if (!pModule) { printf("Cant open python file!\n"); return -1; } PyObject* pFunhello= PyObject_GetAttrString(pModule,"test0");
if(!pFunhello){ std::cout<<"Get function hello failed"<<std::endl; return -1; } PyObject_CallFunction(pFunhello,NULL); Py_Finalize();
return a.exec(); }
|

将py文件复制进入生成的可执行程序的目录内

再次运行,发现py脚本成功运行
