您的位置:首页 > 编程语言 > Qt开发

关于Qt无法直接使用cout和cin的问题

2015-03-22 14:59 369 查看
在用Qt的时候一般调试都用qDebug()就够了,但有些时候不得不用<iostream>里边的cout。

最典型的的就是在用opencv的时候,像Mat数据结构想用qDebug()直接输出是不可能的,但是cout却可以。但有时候你会发现cout用不了了?

如下:

<pre name="code" class="cpp">#include "widget.h"
#include <QApplication>
#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
using namespace cv;
using namespace std;

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Mat imgmat=imread("1.bmp",0);
cout<<imgmat<<endl;
return a.exec();
}



这段程序编译没报错,但最后也没有输出。(执行完记得在后台把程序杀掉)

上网查了下发现是和QTextStream的cout、cin冲突了。所以我们就不用using
namespace std 改用std::cout就行了:

#include "widget.h"
#include <QApplication>
#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
using namespace cv;

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Mat imgmat=imread("1.bmp",0);
std::cout<<imgmat<<std::endl;
return a.exec();
}
输出结果:imgmat矩阵的内容
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐