FreeCADのcppプログラムからGUIのReport View(FreeCADの画面の下の方に表示される枠)に情報を書き出すには、下記のようにBase::Console()からmessageなどの関数に文字列を渡せば良いです。
Base::Console().critical("console critical\n");
Base::Console().error("console error\n");
Base::Console().warning("console warning\n");
Base::Console().message("console message\n");
Base::Console().log("console log\n");QUIプログラムで度々使われるQStringをReport Viewに出すときはtoString().c_str()でcの文字列に変換して渡します。
QString someStr = "asdfasdf";
Base::Console().message(someStr.toStdString().c_str());
Base::Console().message("\n");
Base::Console().message("string is %s\n", someStr.toStdString().c_str());
参考
Base::Console()の存在を把握したフォーラムです。
フォーラムの投稿では関数が大文字始まり(WarningやMessage)でしたが、自分が動作確認した1.2-devでは小文字始まりの関数(warningやmessage)になっていました。
How to add a debug output to console from .cpp file?
QStringをchar配列にする方法を把握したstack overflowのやりとりです。
QString to char* conversion



0 件のコメント :
コメントを投稿