qt调用matlab程序(mcr)

📅 2026/7/7 16:31:01 👁️ 阅读次数 📝 编程学习
qt调用matlab程序(mcr)

介绍

这个采用的是mcr,去调用matlab的.m文件,有个问题就是他不能包含图形界面和交互,在使用过程中注意。通常如果真的设计到了图形界面和交互我们可以把算法部分独立整合出一个新的.m文件,然后相关的显示和交互在qt中完成。很多matlab函数不开源,qt实现较为困难,用这个方法能解决算法上的一些问题。

流程

1.建一个.m文件放入你自己的算法什么的,无 figure、imshow、waitbar、ginput 等图形函数。
2.使用matlab Compiler打包成exe文件
在下方的命令行窗口输入applicationCompiler(注意不要有正在跑的程序,可能会占用导致没反应)

3.打包
在弹出的页面里边添加你用调用的.m文件

点击右上角的package,打包,选择一个路径,能记住就行。

然后我们就能在那个路径下边看见for_redistribution_files_only文件里边包含 compute_height_map.exe。
4.调用
告诉qt路径在哪,前边是路径,最后是文件名字(compute_height_map.exe),根据需求更改。

QString matlabExe="D:/matlabproject/sanweichongxian/compute_height_map/for_redistribution_files_only/compute_height_map.exe";

这个是启动程序,放在你代码里边合适位置就行,比如槽函数什么的里边。

m_process->start(matlabExe, args);