qt调用matlab打包的dll中输出多个参数如何接收的问题

2023年7月24日 14:15 ry 332

之前弄花了好久弄完了qt调用matlab打包的dll代码,由于之前写的matlab函数没有输出,只有输入时,这个很好解决,我只用传入参数即可,但是现在有个需求是需要输出2个参数,我qt来接收matlab输出的2个参数,如何解决呢,一样的方法,我们看下matlab代码,如下所示该test函数有一个文件路径参数作为输入,输出spo2和pulse这2个值,我们将test.m打包成dll后,接下来在qt中调用该dll,来得到spo2和pulse,qt代码如下所示

void MainWindow::on_btn_po2_clicked()
{
    //调用matlab函数
   QString p5 = absPath;

   mwArray path5(p5.toUtf8().constData());
    // 定义spo2和pulse变量
   mwArray spo2(1,1,mxDOUBLE_CLASS);
   mwArray pulse(1,1,mxDOUBLE_CLASS);
   // 调用test函数
   test(2, spo2, pulse, path5);
   // 将mwArray转换为QString
   ui->line_spo2->setText(QString(spo2.ToString()));
   ui->line_pulse->setText(QString(pulse.ToString()));
   //设置不可更改
//   ui->line_spo2->setEnabled(false);
//   ui->line_pulse->setEnabled(false);


   qDebug()<<spo2.ToString()<<endl;
   cout<<pulse<<endl;
   QMessageBox::information(this,"提示","计算完成!",QMessageBox::Ok|QMessageBox::Cancel,QMessageBox::Ok);



}

这里我们调用test函数,第一个的值表示输出几个参数,不写默认为0,写了后面写输出的参数,最后一个写输入的参数。很好理解!!!!

如果上述代码帮助您很多,可以打赏下以减少服务器的开支吗,万分感谢!

欢迎发表评论~

点击此处登录后即可评论


评论列表
2023年11月17日 14:35 ry: 回复
本人承接各种软件定制,数据采集,接口搭建,网站开发,环境配置的杂活,需要的可以联系我 qq:1449917271 微信:liuyoudyping


赣ICP备2021001574号-1

赣公网安备 36092402000079号