python - 如何在 Qt Creator 中单击按钮运行 python 程序并在 Qlabel 上显示结果
问题描述
我试图在按钮单击时运行执行 python 程序但出现错误......
Qt 程序:
QProcess p;
QStringList params;
params<<"C:/Users/user/Desktop/image/temp.py";
p.start("C:/Users/user/anaconda3/python.exe",params);
p.waitForFinished(-1);
qDebug()<<"finished";
QStringp_stdout=p.readAll();
qDebug()<<p_stdout;
QStringp_stderr=p.readAllStandardError();
if(!p_stderr.isEmpty());
qDebug()<<"Pythonerror:"<<p_stderr;
Python 程序temp.py:
from PIL import Image
import numpy as np
def change(path1,path2):
im1=Image.open(path1,"r")
im2=Image.open(path2,"r")
buffer1=np.asarray(im1)
buffer2=np.asarray(im2)
buffer3=buffer1-buffer2
changed=Image.fromarray(buffer3)
im1.show()
im2.show()
changed.show()
changed.save(r"C:\Users\user\Desktop\image\changed.jpg")
return(changed.show)
change(r"C:\Users\user\Desktop\image\Vale.jpg",r"C:\Users\user\Desktop\image\Vale2.jpg")
QT 上的错误:
finished
""
Python error:
"Traceback (most recent call last):\r\n File "C:/Users/user/Desktop/image/temp.py", line 1, in <module>\r\n from PIL import Image\r\n File "C:\Users\user\anaconda3\lib\site-packages\PIL\Image.py", line 94, in <module>\r\n from . import _imaging as core\r\nImportError: DLL load failed while importing _imaging: The specified module could not be found.\r\n"
Qt 中的第二种方法: (python 程序与 temp.py 相同)
QStringprogram("C:/Users/user/anaconda3/python.exe");
QStringListargs=QStringList()<<"C:/Users/user/Desktop/image/temp.py";
int exitcode=QProcess::execute(program,args);
错误(Qt):
File "C:/Users/user/Desktop/image/temp.py", line 1, in <module>
from PIL import Image
File "C:\Users\user\anaconda3\lib\site-packages\PIL\Image.py", line 94, in <module>
from . import _imaging as core
ImportError: DLL load failed while importing _imaging: The specified module could not be found.
解决方案
推荐阅读
- php - Laravel 中具有相同文档根的语言子域
- javascript - 将下拉菜单的插入符号替换为 SVG 图像
- kubernetes - Kubernetes 可以在没有 LXD 守护进程的情况下管理 LXC 容器吗?
- php - 如何将for循环内的值作为数组调用到twig中for循环的外部?
- android - Android、Kotlin:这里到底叫什么?
- agora.io - Agora 视频通话报错 2001 AUDIO_INPUT_LEVEL_TOO_LOW
- r - 将子集的平均值作为参数传递给 ave() 中的函数
- javascript - Router.use() 需要中间件函数但得到一个字符串
- php - 如果声明在 var=EUR 的情况下回显图像不起作用
- postgresql - 如何解析 ZoneDateTime 格式?