c – 将std :: cout重定向到QTextEdit
发布时间:2020-12-16 07:28:57 所属栏目:百科 来源:网络整理
导读:是否有可能(更重要的是-how-)将输出流重定向到QTextBox.如果我写std :: cout在应用程序中的任何地方“测试”它被重定向到我定义的文本框? 我尝试了明显的(其中ui.textEdit是指向文本编辑框的指针): std::cout.rdbuf(ui.textEdit);std::cout "test"; 但是这
是否有可能(更重要的是-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 使用构造函数: 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 据我所知,这些子主题可在SO上获得 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |