一、文件准备
提前打包好exe(使用python或者matla,matla打包需要注意版本问题)
文件准备
在终端中运行打包好的exe
在终端中打开
终端运行结果
exe运行结果如下(生成一个图片和一个v文件)
exe结果文件
二、Qt代码
ui界面设计如下:
ui界面设计
dyexe.cpp代码如下:
#include"dyexe.h"
#include"./ui_dyexe.h"
#include<QFileDialog>
#include<QDeug>
#include<QMovie>
#include"threadone.h"
#include<QTimer>
#include<QFile>
#include<QDir>
DYEXE::DYEXE(QWidget*parent)
:QMainWindow(parent)
,ui(newUi::DYEXE)
{
ui->setupUi(this);
this->showMaximized();
}
DYEXE::~DYEXE()
{
deleteui;
}
voidDYEXE::ShowResult()
{
QStringasePath=R"(C:\Users\admin\Desktop\Qt调用EXE所需文件\输出文件)";
QStringdenoisedResultPath=asePath+"\\识别结果.png";
QStringdenoisedResultPath2=asePath+"\\异常数据总数.v";
autocheckFileExistence=[this,denoisedResultPath,denoisedResultPath2](){
if(QFile::exists(denoisedResultPath)&&QFile::exists(denoisedResultPath2)){
QPixmappixmap(denoisedResultPath);
ui->lael_Pic->setPixmap(pixmap);
ui->lael_Pic->setScaledContents(true);
//打开V文件
QFilefile4(denoisedResultPath2);
if(file4.open(QIODev::ReadOnly|QIODev::Text)){
QTextStreamin4(&file4);
//读取第一行(表头)
if(!in4.atEnd()){
in4.readLine();//跳过第一行
}
if(!in4.atEnd()){
QStringline=in4.readLine();//读取文件第2行
ui->lineEdit_2->setText(line.trimmed());//去掉可能的空格和换行符后写入lineEdit_time
}
file4.close();
}else{
qDeug()<<"FailedtoopenVfile:"<<denoisedResultPath2;
}
retntrue;
}
retnfalse;
};