【发布时间】:2009-07-15 00:41:14
【问题描述】:
我的应用程序是一个多线程应用程序(使用 wxThreads)。目前,主线程及其子工作线程正在向 Stdout 输出各种消息(使用 cout)。
我有一个带有 wxTextCtrl 的新框架/窗口,并希望将所有 StdOut 消息重定向到其中。
GuiLogFrame *logframe; logframe = new GuiLogFrame(NULL, wxID_ANY, wxEmptyString); 逻辑框架->显示(); logredirector = new wxStreamToTextRedirector(logframe->get_log_textctrl());这不起作用。但是如果我替换最后一行
wxStreamToTextRedirector redir(logframe->get_log_textctrl());只要 redir 在范围内,标准输出将被重定向到逻辑框架 wxTextCtrl...我希望它即使超出范围也能保留。
我想要的是 wxStreamToTextRedirector 在应用程序运行的整个过程中保持不变......所以即使是新线程的 cout 也会重定向到同一个 wxTextCtrl。
有什么想法吗?
【问题讨论】:
标签: c++ multithreading wxwidgets stdout redirect