textedit 中的第一个输出是数字 3,我不知道为什么该数字来自 Qt::LogText。这个问题基于我之前提出的一个问题,我使用的是来自下面链接的相同 qdebugstream 头文件。
下面的新项目是将 cout 重定向到 textedit 的 QT Gui 应用程序。另外,由于 settextformat() 不再是 QTextEdit 的成员,我将 Qt::LogText 转换为字符串。
这是基于另一篇文章,但我不明白解决方案。 QTextEdit::setTextFormat(Qt::LogText) 不再存在,我还能用什么来记录?. 有人可以提供更多信息吗?
主窗口.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->textEdit->setReadOnly(true);
ui->textEdit->setText(QString("%1").arg(Qt::LogText));
QDebugStream qout(std::cout, ui->textEdit);
cout << "Send this to the Text Edit!" << endl;
}
MainWindow::~MainWindow()
{
delete ui;
}
主窗口.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include "qdebugstream.h"
#include "stdio.h"
#include "iostream"
using namespace std;
namespace Ui {
class MainWindow;
}
class QtextEdit;
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H