我的应用程序是一个多线程应用程序(使用 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。
有什么想法吗?