Python调用qt函数 qt pythonh

QT中调用Python如果你是嵌入的话,应该没问题 。python的库会暴露c api的,你的qt程序照着python文档中的embedded章节就好 。看样子,你的是linux下的,不过一般头文件就是include/python.h,怎么会是include/python2.7呢?你写错了吧 。库文件应该是在lib下面 。
在qt程序中怎么运行一个python程序因为process.start()函数实质是采用命令行中"start XXX"的方式启动XXX 。这里的XXX仅仅适用于大部分的exe可执行文件以及一些常用文件 。对于py或者pyw文件都不行 。
有两种解决方案Python调用qt函数:
另外编写一个bat用来启动py文件Python调用qt函数,就可以使用start启动这个bat就可以了;
【Python调用qt函数 qt pythonh】使用另一个函数“QDesktopServices::openUrl”来启动py文件 。具体使用方法请自行百度 。不做过多说明 。
Qt下无法调用python , 打不开文件为什么#include QCoreApplication
//包含调用Python相应Python调用qt函数的头文件
#include Python.h
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
//初始化Python解释器Python调用qt函数,这是调用操作的第一步
Py_Initialize();
if( !Py_IsInitialized() ){
return -1;
}
//执行单句Python语句,用于给出调用模块的路径,否则将无法找到相应的调用模块
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('./')");
//获取qt_python_fun.py模块的指针
PyObject* pModule = PyImport_ImportModule("qt_python_fun");
if (! pModule){
printf("Can't open python file\n");
return -1;
}
//获取hello函数的指针
PyObject* pFunhello = PyObject_GetAttrString(pModule,"hello");
if (!pFunhello){
printf("Get function hello failed\n");
return -1;
}
//调用函数,传入参数为NULL
PyObject_CallFunction(pFunhello,NULL);
//销毁Python解释器,这是调用的最后一步
Py_Finalize();
return a.exec();
}
作者Python调用qt函数:sleepyjoker
链接Python调用qt函数:
来源:简书
著作权归作者所有 。商业转载请联系作者获得授权,非商业转载请注明出处 。
Python调用qt函数的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于qt pythonh、Python调用qt函数的信息别忘了在本站进行查找喔 。

    推荐阅读