C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 将std :: cout重定向到QTextEdit大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
是否有可能(更重要的是-how-)将输出重定向到QTextBox.如果我写std :: cout<<在应用程序中的任何地方“测试”它被重定向到我定义的文本框? 我尝试了明显的(其中ui.textEdit是指向文本编辑框的指针):

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

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

我用的是qt4.8 btw …

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

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

使用构造函数

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

在成员函数中,发布以下行:std :: cout<< “项目已加载”<<的std :: ENDL; 该行现在导致来自“qscoped_pointer”的访问冲突. (作为单独的问题,我应该发布更详细的信息吗?) 编辑:嗯,“解决方案”只是在ui.textEdit完全创建后才声明qout.

解决方法

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

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

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

大佬总结

以上是大佬教程为你收集整理的c – 将std :: cout重定向到QTextEdit全部内容,希望文章能够帮你解决c – 将std :: cout重定向到QTextEdit所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。