c – 将std :: cout重定向到QTextEdit

是否有可能(更重要的是-how-)将输出流重定向到QTextBox.如果我写std :: cout<

std::cout.rdbuf(ui.textEdit);
std::cout << "test";

但是这不起作用. (明显). – 也没有将cout重定向到qDebug工作(甚至将qDebug指向文本字段).

我用的是qt4.8 btw …

编辑:
所以我尝试了邮件列表中发布的解决方案.但是现在出现了访问冲突.

class MainInterface : public QMainWindow
{
    Q_OBJECT
....
private: 
    QDebugStream qout

使用构造函数:

MainInterface::MainInterface(QWidget *parent, Qt::WFlags flags)
    : QMainWindow(parent, flags),
    qout(std::cout, ui.textEdit)
{

在成员函数中,发布以下行:std :: cout<< “项目已加载”<

最佳答案 您可以将cout重置为您自己的ostream实现,该实现会发出挂钩到
append插槽的信号.因此,子问题/练习是:

>重定向cout
>将cout重定向到您自己的ostream实现或您可以扩展的实现
>向QTextBox发出信号

据我所知,这些子主题可在SO上获得

点赞