Qt 5.2 に向けて

Qt 5.1.0 がリリースされ、開発の焦点は Qt 5.2 へと移ってきました。development メーリングリストでは 5.1.0 リリース前から(主に Qt Quick 関連で) 5.2 に向けた議論がいくつかありました。Qt Contributors Summit 2013(QtCS) が終わり、それ以外のモジュールでも 5.2 に向けた方向性が見えてきました。

スケジュール

Qt 5.2.0 のリリースは今年の11月を目標にしています。しかし、Qt 5.1 のスケジュールが遅れた原因の解析や対策が必要だという意見や、Qt Creator がベータ版からリリースまで8週間かけているのに、それよりも規模の大きい Qt がアルファ版からリリースを8週間で行うのは難しいのではないかとの意見もあります。

“Qt 5.2 に向けて” の続きを読む

Qt の日本語訳更新中

私事ながら、今月より 株式会社SRA の正社員となりました。昨年に Nokia を退社してからも SRA で仕事をしてはいたのですが、ようやく色々と落ち着いた形となります。SRA では Qt のサポートやコンサルティングなどをしつつ、Qt 自体への貢献も時間を見つけて行っています。この記事の内容もそういった活動の一つです。

最初に手がけているのは以前からの目標でもあったインストーラの日本語化です。それに関連して Qt や各モジュールのメッセージの日本語化を行っています。

対象としてはまずは以下のプロジェクトをこの順番で実施中です。

  1. Qt Installer Framework
  2. Qt5
  3. Qt Creator

“Qt の日本語訳更新中” の続きを読む

Qt Creator 2.8.0 リリース

Qt Creator 2.8.0 がリリースされました。

Qt Creator 2.8 の新機能は「Qt Creator 2.8.0 ベータ版リリース」で紹介していますが、それ以外にも以下の機能が追加されています。

  • LLDB デバッガの実験的サポート
  • Android: GUI な manifest エディタ、デバイス上での QML デバッグ
  • BlackBerry: セットアップウィザード
  • 商用版: Qt Quick Designer、QML Profiler の 追加機能

なお、Qt5 のインストーラに同梱されている Qt Creator のアップデートですが、トラブルが発生しているため、更新可能になるまではもうしばらくかかるそうです。

Qt5: ANGLE と OpenGL

Qt5 で OpenGL が必須要素となったことに関連して、Windows 版では ANGLE を使った構成が追加されました。今まで ANGLE については詳しく説明してきませんでしたが、いい機会なので Qt Project の wiki にある “Qt 5 on Windows ANGLE and OpenGL” を翻訳してみました。

ANGLE と OpenGL の使い分けについても書いてありますので、参考にしてください。不明点などありましたらコメントなどで連絡してください。

libclang を用いた moc の再実装

本家の Planet Qt にはたびたび woboq という会社の記事が出てきます。Nokia/Trolltech で Qt の開発に携わっていたメンバーが立ち上げた小さな会社ですが、Qt および C++ などの確かな技術力を元にこれまでにもさまざまな面白い記事を提供しています。古い記事もご紹介したいものはありますが、今回はその中から「Proof Of Concept: Re-implementing Qt moc using libclang」を紹介しようと思います。

moc(Meta-Object Compiler) というと Qt のメタオブジェクトシステムの核となる要素であり、シグナルやスロットの実現に欠かせないコマンドであります。moc は C++ のヘッダーファイルやソースファイルをパースして QObject を継承したクラスの宣言(正確には Q_OBJECT マクロのあるクラス宣言)を見つけ出して、必要なメタオブジェクトやシグナル、メソッドの実装を作成します。

このため、moc は独自実装による C++ のプリプロセッサおよびパーサを合わせたような機能を持っています。が、C++ のすべての仕様の実装までは行っておらず、複雑な文法になる場合や C++11 特有の書式には対応していません。そこでパーサーの実装に libclang を用いて、moc を(moc-ng として)再設計することで C++ の仕様への追従度や、moc 自身のメンテナンス性を向上させようというのがこの Proof Of Concept (概念実証) の目的となります。

“libclang を用いた moc の再実装” の続きを読む

Qt 4.8.5 リリース

Qt 4.8.5 がリリースされました。Qt 4.8 系のパッチリリースになります。

多数のバグフィックスに加え、4.8.4 リリース以降に発見されたセキュリティアドバイザリーの修正などが行われています。下記に 4.8.5 で修正されたセキュリティアドバイザリーを記載しておきます。ネットワーク系のアプリを使用している場合などはアップデートを推奨します。

対応されるのはしばらく後になりそうですが、Qt 5.1 のオンラインインストーラで Qt 4.8.5 をインストール可能にする計画もあるそうです。