Qt qDebug:无打印输出

时间:2018-11-28 04:41:36

标签: qt printing qdebug

我已经在我的.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";
    }

}

这是打印输出窗口: this is the print out window

这是UI: this is the ui

1 个答案:

答案 0 :(得分:1)

你有

CONFIG += console
您的.pro中的

?您必须重建项目。