杉田さん、小林です。
丁寧なコメントをありがとうございます。
WA_DeleteOnClose やスマートポインタもありましたね。
実際、この2つには仕事でも助けられています。
Implicit Sharing は、Pattern Oriented Software Architectureなどの書籍でも
解説されていて、C++ の定番のイディオムのようですが、私は C++ に手を染める
のが少し遅かったこともあって、Qt で初めて知りました。
Qt だとビジュアルなプログラミングで楽しみながら、こういうイディオムや
パターンを学べるのが素晴らしいと思います。
また、Qt を使うことで、C++ 言語の良さが初めて理解できたと思えます。
Qt のコードやドキュメントには、他にもいろいろ、こういう「宝」が埋まって
いるような気がします。
私の業務の忙しさもあって、なかなか定例化に至らない大阪の勉強会ですが
そのあたりを少しすつでも掘り起こしていきたいと思います。
今回の杉田さんのメールには、大いに励まされました。
2015/11/04 0:28、小林 修 <osamu-k@arion.ocn.ne.jp> のメール:
2.Qtのメモリ管理について
Qtのメモリ管理が難しい。時々落ちるが原因特定に手間取っている。
以下のポイントについて、説明を行いました。
・QObjectの親子階層とヒープメモリ、子の自動解放について
・オブジェクトのOwnershipについて
・Implicit Sharing について
・遅延消去(deleteLater)について
他には WA_DeleteOnClose、closeEvent のオーバーライドがありますね。それと Qt のスマートポインタ。Implicit Sharing については、new をしてはいけない、QImage::bits() などでの detach()、不要な detach() を抑制するコーディングイディオム、コンテナクラス、foreach での扱いなども押さえておくといいです。実業務でQtを使っていても、これらについてはあまり知らない人もいて、
大事なポイントだと感じました。
後で、役に立ったと連絡をくれた人や、deleteLater 効果があったと
言ってくれた人もいて、好評な内容でした。
ここを抑えるのは大事です。SRA の Qt 基礎トレーニングでは上記のことを実習を含めて詳しく説明しています。オリジナルのトレーニングではそういう説明はしていませんが手を加えています。ウェブサイトでここまで説明してるものはなく、Qt のリファレンスよりも詳しいでしょう。3.Qt4 とQt5の違いについて
以下について確認しました。
・ライセンス(LGPLのバージョン v2からv3へ)
・QPAによるマリチプラットフォーム対応
・QWSが無くなったこと
・QtQuick2, QtWebEngine の導入
など
組込み系ではまだQt4が中心のようです。
ローエンドは Qt4 ですがハイエンドは Qt5 が中心に移っていると感じています。Qt Quick2 と QtWebEngine は OpenGL があるので Qt4 ではもう難しいでしょうし、Qt4 のバグは Qt5 で修正されてもバックポートされず、古いバグ報告なのでと切り捨てられ続けています。新しいコンパイラバージョンや最近の OS への対応もされません。4.他言語対応
これは大変だよね、という四方山話。
・業務ではExcelで管理しているところが多い
そのために Qt の翻訳の仕組みは使わない場合が多いです。ではどうするかを説明するといいです。 ・Linguist は翻訳担当者には敷居が高い
そのために XLIFF と相互変換できます。XLIFF に変換しカスタマイズして翻訳プロセスに適合させたこともあります。十数年 Qt を使われている日本の企業で専門の翻訳部門を抱えているところがあり、翻訳担当者の方とお会いして Linguist は使いやすいと聞いる例もあります。先週聞いたところでは今も使われています。プログラムはまったくされない方です。導入の仕方もあるでしょう。 ・画面数が多く、確認が大変、
など。
これは何を使っても同じではないでしょうか。Linguist ではフォームを使っているならば、プレビューしながら、翻訳結果を確かめられるのはよいです。後半は、Raspberry pi 2 用のQt5 のクロスビルドの方法について
私がやってみた内容の紹介と説明。
まだ途中なので、次回に続きをやる予定です。
次回は11月下旬を予定しています。
以上です。
---------------------------------------------------------------------
小林 修
E-mail:osamu-k@arion.ocn.ne.jp
---------------------------------------------------------------------
_______________________________________________
Qt-users mailing list
Qt-users@qt-users.jp
http://qt-users.jp/mailman/listinfo/qt-users
_______________________________________________Qt-users mailing listQt-users@qt-users.jphttp://qt-users.jp/mailman/listinfo/qt-users