前々週に開催したTizenの勉強会は悲惨な感じでしたがQt勉強会は規模は小さいまでも充実した内容になってくれました。ATNDはこちら。
*1
当日は登録人数9人全員+弊社のメンバ2人で合計11人にご参加頂きました。頑張れば30人位入るのですが、円卓を囲んでワイワイ話しながらやるには10人前後がちょうどのようです。(余談ですが、この会議室だけ空調が入らないので夏は人数を6~7人に絞って空調の入る部屋でやろうと思います。。)
mogurisoはQt3Dと戯れようとして挫折した挙句、QtCreatore付属のデモやサンプルの紹介に終始してしまいました。毎度のことですが、大変反省するところです。。。(途中、その後に@takumiasakiさんに多々フォロー頂きました。ありがとうございます!)
*2
以降は私視点の勉強会内容です。
ARMボードでQt ( @lipoyangさん )
なんと、自社で開発されたARMボードをご持参頂いて、そのボード上でQtを動かすと言う話をして頂きました。
発表で出てきていた、
>C言語によるオブジェクト指向風記述 (FontHoge->Release(FontHoge);)
は、私も仕事でよく見ます。個人的には、無秩序なC言語プログラムに比べればまだ有りかなと思ったりしております。。。
最後の方に出されていたスライドで、HDDレコーダの録画一覧がアニメばっかりだったのも含めて
すごい、関西版 @IoriAYANE さんだ w
— mogurisoさん (@moguriso) 5月 1, 2012
と、思いました。
組込みエンジニアの端くれとして、自社作成ボードに独自でカスタマイズしたソフトを入れていくと言うのはやりたいことの1つです。目標にさせて頂きたいと思います。このボードは、2012/6/14~15のET-Westで展示されるとのことで、興味のある方は是非足を運んでみてはいかがでしょうか?(私も予定が調整出来れば参加したいです。。)
Qt5のOSCでの発表内容+Beagleboardで動かすQt5 (@takumiasakiさん)
OSCで発表されている内容をベースに、Qt5についての概要から入って頂き、Beagleboardで動かすデモまで行って頂きました。
Beagleboardのコンソール画面。ディスプレイは弊社ご自慢のなんかデッカいディスプレイ。
デモ。かなりグリグリ動いていました。
有り難いことに出席者の方からバンバン質問が飛び交い、それに丁寧に答えて頂くことが出来、とても勉強になりました。
個人的にTwitterでメモしていたものは、下記の感じです。(認識が間違っていましたら、ご指摘ください>参加者の方)
Q: QMLのUI(ユーザーインターフェース画面)は簡単に作れるのですか?
A: どちらかというと、XMLを直接改造している人が多いですが、Photoshopの画像をQMLにするためのadd-on(plug-in?)があります。→Exporting QML from Photoshop and GIMP*3
Q: QMLからC++のオブジェクトは呼べるのですか?
A: QDeclarativeContext::setContextPropertyでC++のオブジェクトを与えてやれば可能です。
Q: QMLからC++のオブジェクトは呼べるのですか?
A: QDeclarativeContext::setContextPropertyでC++のオブジェクトを与えてやれば可能です。
Q: Qt5 alphaをWindows + MinGWでやりたいのですが、beta以降なら出きるようになりますか?
A: VC(7.1)のコンパイラはWindowsSDKやVC Expressに入っているので、まずはソレで試して頂く方が速いです。
Q: (ビルドし直した場合、)Qt4で書いたプログラムがQt5で動かなくなることは?
A: Qt3〜Qt4で互換性を全部切ったところ、Qt4への移行がとても遅れたため、細かい部分は別にして互換性は保たれるはずです。
Q: Qtでマルチスレッドを使う場合にconnect/slotを使ったりすると、どのタイミングで動きますか?
A: イベントキューに溜まって、呼び出される側(slotが所属する側、newした側)のスレッドで実行されます。
Q: Qtでマルチスレッドを使う場合にイベントキューの大きさは制御可能ですか?(組込み向けに大きさを制御したい)
A: その辺のカスタマイズは(今のところ?)出来そうにないです。
Q: MinGWでKeyPress->KeyReleaseイベントが取れないようです
A: どこかでイベントで食われてる? イベントフィルタ(?)を入れてみて確認してみるとか..
Q: Qtからマウスカーソルを動かせますか?
A: QCursor:setPosとかあります
個人的には、Developer Network検索→キーワードからググると言う調べ方がとても勉強になりました。。
元々相当に時間が余る予定で、@takumiasakiさんには冗談で「2時間でも3時間でもやって下さい」と言っていたのですが、本当に2時間以上やって頂いてしまい、折角のお休みに有り難いやら申し訳無いやらです。(他にも多々お手間をお掛けしました。。)
Ustに音だけ載っているのですが、大学の先生にもご参加頂いており、Qtに関する論文が掲載された小冊子を頂きました。
こういうのを使わせて頂けると本当の意味で”勉強”会になりそうです。
懇親会
5/1と言う中途半端な日に設定したためか、@takumiasakiさんと私含めて4名ではありましたが、いろいろと参考になるお話が聞けました。
本番の懇親会ですー yfrog.com/ny236wcj
— mogurisoさん (@moguriso) 5月 1, 2012
@takumiaskaiさんのお話はもちろん、特に長年サラリーマンをやっている私には、学校の先生のお話や学生さんのお話がいい刺激になりました。
早くからはじめた性で、早く終わってしまい主催の@twpoponさんとタイミングが合わず申し訳ありませんでした。
ダメだ。行けない…。 RT @moguriso: 本番の懇親会ですー yfrog.com/ny236wcj
— poponさん (@twpopon) 5月 1, 2012
次回以降は是非。
その他の情報
- クロスコンパイルサポートの改善で公開されている情報は、Qt5 beta向けの情報で、Qt5 alphaでは使えない
- 組込みLinuxのディストリビューション、The Angstromは特定のボード(beagle/pandaなど)向けにパッケージを作る場合Online Builderが便利
- Qtを動かすとBeagle xmよりraspberry piの方がFPSは出ている
- コンパイラがC++11対応していれば、slotやconnectの部分もラムダ式に対応
当日の反省
- @takumiasakiさんにおんぶ抱っこだった。関西メンバーだけでこのクオリティ(+α)を目指したい。
- HDMI=>DVI変換ケーブルが無くて、@takumiasakiさんにパソコン工房まで走っていただくことに、、、(本当に申し訳ありません m(_ _)m)
USTまわりでは
次回以降の開催予定
5月上旬は、OSC Nagoyaなどもありますので、5月中頃以降に開催したいと思います > @twpoponさん
ネタを温めて下さっている @shohagaさんの発表にも期待します!
*1:念のため顔の部分にぼかしを入れました m(_ _)m
*2:pdfに一度変換してから移したらフォント潰れず上手く行きました。
*3: (※)その後、@bluepickyさんより
— Kenji Sugitaさん (@bluepicky) 5月 1, 2012
@moguriso 経験的に、他の方法となり採用実績0です。動かしてみてもこれでは、、、というものでした。
— Kenji Sugitaさん (@bluepicky) 5月 1, 2012
とツッコミ頂きました。