我是靠谱客的博主 大意老鼠,最近开发中收集的这篇文章主要介绍Ubuntu 16.04下Qt5.14(C++)配置并调用python脚本环境要求环境配置qt调用python实现画图,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
Ubuntu16.04下Qt5.14C++配置并调用python脚本实现画图
- 环境要求
- 环境配置
- qt调用python实现画图
- C++代码
- python代码
- 上菜
环境要求
linix版本:Ubuntu16.04
qt版本:C++ qt-linux-x64-5.14.2 下载链接:linux-qt5.14.2下载
python版本:python3.6
环境配置
qt环境的配置踩了很多坑,本方法适用于Ubuntu下qt5版本调用python3文件。
1.下载qt5.14.2
下载可以参考这边博客:qt5.14.2安装教程
2.为qt配置python环境
qt如果想要调用python脚本,就要引入Python.h这个库,因此要在qt的.pro工程文件中配置调用的python链接库。
1)首先安装python3.6-dev
sudo apt install python3.6-dev
为什么需要安装:
2)找到python的安装位置
sudo locate python3.5-config
3)根据安装位置查找配置环境的信息
sudo /usr/bin/python3.5-config --cflags
sudo /usr/bin/python3.5-config --ldlags
4)根据3得到的信息根据以下形式在.pro中配置python路径
qt调用python实现画图
C++代码
#include <QApplication>
#include "Python.h"
#include <QDebug>
int main(int argc, char *argv[])
{
QApplication a(argc,argv);
Py_Initialize();
// 初始化
// 将Python工作路径切换到待调用模块所在目录,一定要保证路径名的正确性
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.argv = ['python.py']");
PyRun_SimpleString("sys.path.append('/home/ppr/Downloads/fuckpy/')");
// 加载模块
PyObject* pModule = PyImport_ImportModule("ab");
PyErr_Print();
// 加载函数
PyObject* pv = PyObject_GetAttrString(pModule, "main");
PyErr_Print();
PyObject_CallFunction(pv,NULL);
Py_Finalize();
return a.exec();
}
需要特别注意的是
以下代码必须加入,不加入会有一堆报错等着你,这三句代码,是经历了好多坑后找到的。。。
并且不要在C++里去导入第三方模块,否则极有可能出错。
import matplotlib.pyplot as plt
python代码
import matplotlib.pyplot as plt
import random
def main():
print("start")
plt.plot([1,2,1,2])
print("end")
plt.show()
上菜
最后
以上就是大意老鼠为你收集整理的Ubuntu 16.04下Qt5.14(C++)配置并调用python脚本环境要求环境配置qt调用python实现画图的全部内容,希望文章能够帮你解决Ubuntu 16.04下Qt5.14(C++)配置并调用python脚本环境要求环境配置qt调用python实现画图所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复