我是靠谱客的博主 大意老鼠,最近开发中收集的这篇文章主要介绍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实现画图所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部