2. Qt中调用含有第三方包的Python代码

在上篇文章中讲述了Qt调用Python代码,其中Python代码中不含有第三方包。而当Python代码中含有第三方包的时候,上篇文章中的调用方式就会出现问题,这篇文章讲述怎么调用第三方包。
1.Qt和Python的配置在上一篇中已经详述,如有需要参照上一篇。
https://blog.nowcoder.net/n/200c03a6b42a4e4d9257e897fcb60b77 

2.Qt中建立一个项目。
(1)建立Qt Widgets Application项目

(2)绘制界面。

(3)新建一个Python画图函数,该函数参数为图片的保存路径。

import matplotlib.pyplot as plt
import numpy as np
import math
def drawHeart(address):
    t = np.linspace(0, math.pi, 1000)
    x = np.sin(t)
    y = np.cos(t) + np.power(x, 2.0/3)
    plt.plot(x, y, color='red', linewidth=2)
    plt.plot(-x, y, color='red', linewidth=2)
    plt.xlabel('x')
    plt.ylabel('y')
    plt.ylim(-2, 2)
    plt.xlim(-2, 2)
    plt.savefig(address)
(4)编写“确定”按钮槽函数。

    PyRun_SimpleString("import sys");//申明添加系统文件
    PyRun_SimpleString("sys.argv = ['python.py']");//申明系统文件是python文件
    PyRun_SimpleString("sys.path.append('D:/Python3.7/')");//说明系统文件所在路径
这三句是调用Python第三方包的关键,缺少后不能调用含有第三方包的Python代码。在Python中路径使用'/'(反斜杠),不要使用\(斜杠),使用斜杠;会被认为是转义字符,造成错误。系统文件所在路径,就是安装Python的路径,如下图:

(5)Python代码文件到Qt的debug目录下。

(6)运行Qt,指定图片保存路径和图片名称,这里的路径一定是'/'(反斜杠),不要用''(斜杠)。

(7)运行结果。



全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务