用于C++ GUI的WXwidgets:
问题描述:
我完全是创建GUIS的初学者,我正在使用wxwidgets在CodeBlocks中创建GUI程序。我下面这个教程在这里:用于C++ GUI的WXwidgets:
http://wiki.codeblocks.org/index.php?title=WxSmith_tutorials
我已经找到了如何创建对话框和框架。现在,我用C++创建了一个程序,该程序从.txt文件中读取信息,并调用一个方法displayInfo(),该方法使用cout输出这些信息。我想要做的就是在一个窗口上打印这些信息,通过点击一个按钮,说:“打印信息”。
我很难找到的部分是如何从框架的main.cpp中调用我的displayInfo()方法,以及如何在窗口而不是终端上显示该信息。我试图在框架的main.cpp中导入我的类的头文件,并调用displayInfo(),但我认为这不是正确的方法。
任何帮助,将不胜感激。
答
我建议使用文本控件,然后重定向COUT到文本控件
像这样:
#include <iostream>
wxTextCtrl *control = new wxTextCtrl(...);
wxStreamToTextRedirector redirect(control);
// all output to cout goes into the text control until the exit from current
// scope
有关这一招整洁的变化更多的讨论,来看看:
http://docs.wxwidgets.org/2.8/wx_wxtextctrl.html
向下滚动到标题为:wxTextCtrl和C++流的部分
是的,这是有效的,但如果需要显示大量的文本,它将无法正常工作。你会对这个案子有什么建议吗? – FranXh 2013-03-10 03:31:24