私のアプリケーションは、(wxThreadsを使用して)マルチスレッドアプリケーションです。現時点では、メインスレッドと子ワーカースレッドは、(coutを使用して)さまざまなメッセージをStdoutに出力しています。C++ WxWidgets:複数のスレッド間でstdoutをwxTextCtrlにリダイレクト
私はwxTextCtrlを持つ新しいフレーム/ウィンドウを持っており、すべてのStdOutメッセージをそこにリダイレクトしたいと思います。
GuiLogFrame *logframe; logframe = new GuiLogFrame(NULL, wxID_ANY, wxEmptyString); logframe->Show(); logredirector = new wxStreamToTextRedirector(logframe->get_log_textctrl());
これは機能しません。私は最後の行を交換する場合でも、
標準出力はwxTextCtrlは限りREDIRがスコープ内にあるよう...私はそれがスコープ外になる場合でも、それは滞在したいログフレームにリダイレクトされます。
私が望むのは、アプリケーションが実行されている間はwxStreamToTextRedirectorを元の状態に保つことです...新しいスレッドのcoutでも同じwxTextCtrlにリダイレクトされます。
どのような考えですか?