0

我完全是创建 GUIS 的初学者,我正在使用 wxwidgets 在 CodeBlocks 中创建 GUI 程序。我在这里关注本教程:

http://wiki.codeblocks.org/index.php?title=WxSmith_tutorials

我已经弄清楚如何创建对话框和框架。现在,我在 C++ 中创建了一个程序,该程序从 .txt 文件中读取信息并调用方法 displayInfo(),该方法使用 cout 打印此信息。我想做的是通过单击一个按钮在单个窗口上打印此信息,例如:“打印信息”。

我发现很难的部分是如何从框架的 main.cpp 调用我的 displayInfo() 方法,以及如何在窗口而不是终端上显示该信息。我试图在框架的 main.cpp 中导入我的类的头文件,并调用 displayInfo(),但我认为这不是正确的方法。

任何帮助,将不胜感激。

4

2 回答 2

2

wxWidgets 有一些预定义的对话框用于显示少量文本。

wxMessageBox 描述

否则,您将不得不在面板或窗口上使用 DrawText 方法。

于 2013-03-09T18:51:12.927 回答
2

我建议使用文本控件,然后将 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++ 流的部分

于 2013-03-09T22:10:37.230 回答