请教一个qt与Matlab混合编程的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教一个qt与Matlab混合编程的问题相关的知识,希望对你有一定的参考价值。

我现在要在qt下面实现Matlab混合编程,遇到了些困难。找了一篇资料,给的是Visual Studio2005环境下的设置,请问怎么改成qt里 .pro里的命令行模式
描述是这样的:1,通过菜单“工具”->“VC++目录”头文件应包括:...\安装编译器的路径\extern\include,库文件应包括:...\安装编译器的路径\extern\lib\win32\microsoft;
2.“项目”->"属性"->"C/C++"->"附加包含目录“:...\安装编译器的路径\extern\include\win32;
3.“项目”->"属性"->"链接器"->"附加包含目录“:...\安装编译器的路径\extern\lib\win32\microsoft;
谢谢
我是想写成这种形式
QT += core gui

TARGET = qttest
TEMPLATE = app

SOURCES += main.cpp\
qttest.cpp

HEADERS += qttest.h \
matlib.h

FORMS += qttest.ui

参考技术A
int fla=fcntl(sockfd,F_GETFL,0);
fcntl(sockfd,F_GETFL,flag|O_NOBLOCK);
connect(……);

请教QDatastream与QVariant的相关问题(QT编程)

QVariant V("123");
QByteArray b("321");
QDataStream o(&b,QIODevice::ReadWrite);
o << V;
cout<<" b:"<<b.data()<<endl;
cout<<" V:"<<V.toByteArray().data()<<endl;
我想问下为什么b输出为空?

参考技术A

1、如果将cout换为二进制文件QFile(或者查看调试时的变量b值),

    QFile file("file.dat");
    file.open(QIODevice::WriteOnly);    
    QDataStream out(&file);
    out<<V;    
    file.close();

那么会发现输出的结果是\\0 \\0 \\0 \\n \\0 \\0 \\0 \\0 6 \\0 '1' \\0 '2' \\0 '3'.

2、如果将o << V;替换为o << V.toByteArray();,那么结果为\\0 \\0 \\0 \\0 3 '1' '2' '3'.

3、如果直接将V输出到控制台上,显示结果为QVariant(QString, "123");

 

所以,推测为QVariant具有独特的内存结构,如果直接以QByteArray将其内存数据输出到控制台,由于内存格式仍为QVariant的内存结构,所以控制台上不能显示出来。

 

不过,再具体的就说不上来了,查看QVariant类定义,也没有发现为什么会有\\0 \\0 \\0 \\n等这样的数据。希望高手解答啊。

以上是关于请教一个qt与Matlab混合编程的问题的主要内容,如果未能解决你的问题,请参考以下文章

Matlab与C/C++混合编程之Matlab调用OpenCV库函数

MatlabQt Matlab混合编程——以曲线拟合为例

MatlabQt Matlab混合编程——以曲线拟合为例

matlab与vs混合编程/matlab移植

[转] Matlab与C++混合编程(依赖OpenCV)

Qt for iOS,Qt 与Objective C混合编程