我有一个wxWidgets GUI程序,我希望为stdout / etc附加一个标准的控制台窗口。去。。
如果有人知道如何执行此操作(GUI应用程序和以及控制台窗口),那将是非常出色的。但是,从环顾四周来看,我怀疑这不是直接可能的。
基于this similar thread,我得到的印象是可以在单独的wxFrame中使用wxTextCtrl进行模拟。如果这是一个很好的方法,有没有在任何地方做过的例子?还有其他方法吗?
编辑:我希望(或者至少尽可能地模仿)控制台窗口 - 所以,黑色背景,带有固定宽度字体的白色字符等。答案 0 :(得分:1)
您可以重定向,例如使用wxStreamToTextRedirector std::cout
到wxTextCtrl
但它并没有真正取代Windows下的真实控制台或Unix下的PTY,因为只有通过std::cout
的文本输出才会被重定向但不会使用printf()
或任何其他功能打印的任何内容。如果你需要后者,你需要做一些特定于平台的事情,在这种情况下你应该告诉你使用哪个平台以及你需要做什么。
答案 1 :(得分:1)
我建议从stdout'升级'到wxWidgets日志记录类,这样更灵活。 Here is an overview.