我已经在我的.cpp代码中包含了“ qDebug.h”以及iostream和stdio.h,并且qDebug已正确使用,但是“输出”窗口中没有任何反应... 我尝试了qDebug和cout,想从打印窗口上的txt文件中打印出所有数据,但是失败了。 谁能告诉我如何使所有这四列数据作为整数存储在四个Qvector中? 在这里,我想获取四组数据来绘制曲线。
#include "dynamicplot.h"
#include "ui_dynamicplot.h"
#include "ui_confirmdialog.h"
#include "confirmdialog.h"
#include <QFile>
#include <QFileDialog>
#include <QMessageBox>
#include <QDebug>
#include <QFileInfo>
#include <QVector>
#include <stdio.h>
#include <iostream>
#include <qdebug.h>
using namespace std;
DynamicPlot::DynamicPlot(QWidget *parent) :
QWidget(parent),
ui(new Ui::DynamicPlot)
{
ui->setupUi(this);
}
DynamicPlot::~DynamicPlot()
{
delete ui;
}
void DynamicPlot::on_pB1_clicked()
{
QString file_full,filePath;
QFileInfo fi;
file_full = QFileDialog::getOpenFileName(this, tr("选择文件"),tr( "*.txt"));
fi=QFileInfo(file_full);
//=fi.fileName();
filePath=fi.absolutePath();
if(!file_full.isNull()){
QFile file(file_full);
if(!file.open(QFile::ReadOnly|QFile::Text)){
QMessageBox::warning(this,tr("Error"),tr("read file error:%1").arg(file.errorString()));
return;
}
ui->textEdit_2->setPlainText(filePath);
QTextStream in(&file);
QApplication::setOverrideCursor(Qt::WaitCursor);
dialog = new ConfirmDialog(this);
dialog->setModal(false);
dialog->ui->textEdit->setPlainText(in.readAll());
QApplication::restoreOverrideCursor();
dialog->show();
//try QDebug
while (!in.atEnd())
{
QString line = in.readLine();
line = line + "\n";
//data = data + line;
qDebug()<<line.toStdString().data();
}
//try cout
QVector<int>point_x;
QVector<int>point_y;
//int i=0,k=0;
int i=0;
while(!file.atEnd())
{
QString lineString_x=QString(file.readLine()).trimmed();
//QString lineString_y=QString(file.readLine()).trimmed();
point_x<<(int)(i++,lineString_x.toInt());
//point_y<<(int)(k++,lineString_y.toInt());
}
for(i=0;i<point_x.count();i++)
{
//qDebug()<<point_x[i];
//qDebug()<<point_y[i];
cout<<point_x[i]<<endl;
}
}
else{
qDebug()<<"cancle";
}
}
这是打印输出窗口:
这是UI:
答案 0 :(得分:1)
你有
CONFIG += console
您的.pro中的?您必须重建项目。