准备在QT中调用自定义python脚本,然而在实践中遇到的坑不少,经过一番摸索最终也解决了,特此记录,以便于有共同需求的人。
1.创建工程
新建一个GUI工程,添加一个QPushButton,在槽函数中写下如下 代码:
#test.py 文件放在exe文件同目录下
# -*- coding: cp936 -*-
#定义hello函数,这个函数的功能是输出“hello world!”
def hello():
print("hello python!")
#include <Python.h>
#include <QDebug>
void MainWindow::on_pushButton_clicked()
{
//初始化python模块
Py_Initialize();
if ( !Py_IsInitialized() )
{
return ;
}
//导入test.py模块
PyObject* pModule = PyImport_ImportModule("test");
if (!pModule)
{
qDebug()