「Qt」カテゴリーアーカイブ

Qt を Web ブラウザで動かす

Google の Native Client 上で Qt を動かす試みは比較的前から有る話題でしたのでご存じの方もいらっしゃると思いますが、最近、それとは別のアプローチで Qt を Web ブラウザで動かしている例がありました。

詳しいことは以下の記事とそこからリンクされているそれ以前の記事を参照してください。

それは Emscripten というプロジェクトを用いて実現されています。Emscripten は LLVM をベースにして、C/C++(や LLVM のフロントエンドがサポートする言語) を JavaScript へコンパイル(コンバート?)することが出来ます。上記の記事では Emscripten を使って、Qt を JavaScript にコンパイルしてブラウザ上で動かしています。画像を見ると Firefox や Chromium で動いているところが確認できます。実際に動かしてみたい方は記事中にデモへのリンクがあるのでそちらをたどってみてください。QtCore と QtGui とアプリをまとめて JavaScript にするため、ファイルサイズは数MB以上と大きくなり、実際に動き出すまでの時間はかかりますが、ランタイムやプラグインのインストール無しに Qt アプリが動いている様子はなかなか面白いものです。さすがに、レスポンスが良いとは言えませんが。

動かしている Qt のバージョンについての詳しい記述はありませんが、QWS で動かしていることから Qt4 系だということは分かります。やり方によっては QtWebKit や QtScript 上で Qt を動かすような事も出来るかもしれません。

Qt 5 のサポートアーキテクチャの今後

Qt5 の QAtomicIntQAtomicPointer では Qt4 とのソース互換性が無いことを受けて、新しい QAtomic 系クラスに対応していないアーキテクチャへのサポートの将来的な停止が Qt Core モジュールのメンテナである Thiago Macieira から提案されました。

現在その対象となっているのは以下のアーキテクチャです。

  • Integrity
  • VxWorks
  • Alpha
  • Blackfin
  • POWER and PowerPC
  • S/390
  • SH-4a
  • SPARC

メールでは 5.1 で利用停止を推奨し、5.2 で古いコードの削除が提案されています。もっとも、削除した場合でも C++11 の std::atomic や gcc の機能を使った実装があるため、それらのアーキテクチャでは全く動かないということにはならないようです。

Qt5 の QtWebKit の SQLite 依存について

WebKit は以前から(Qt に関係無く)、SQLite に依存していたのですが、Qt 5 でその依存性の解決方法を変更したとのことです。QtWebKit 単体でクロスコンパイルや Windows でビルドする場合に影響があるようなので、注意してください。

[Development] heads-up: QtWebKit’s SQLite dependency

新しい方法では以下の順番で検索するそうです。

  1. pkg-config を使って SQLite を検索。ただし、Mac では標準の SQLite を使う。
  2. Qt5 のソースツリー内の QtWebKit をビルドする場合、qtbase/src/3rdparty/sqlite にある SQLite を使う。
  3. SQLITE3SRCDIR 環境変数が指し示す SQLite を使う。

Qt 4.6.5 & 4.7.6 RC

ひっそりと Qt 4.6.5 と 4.7.6 のリリース候補版(RC)が出ています。

重大なセキュリティ問題の修正と著作権表記の変更が行われています。

4.6.5:
  • SSL 圧縮をデフォルトでオフに
  • openssl のバージョン間でのバイナリ互換性の問題を修正
  • 著作権表記を Nokia から Digia へ変更
4.7.6:
  • SSL 圧縮をデフォルトでオフに
  • リダイレクト時のルールを若干厳密に
  • openssl のバージョン間でのバイナリ互換性の問題を修正
  • 著作権表記を Nokia から Digia へ変更

4.6, 4.7 を使用している人は次期に正式リリースされると思いますので、該当するバグが影響しないか確認してください。

Qt 5.0.0 リリース

Qt 5.0.0 がリリース されました。

OpenGL の活用を中心にいろいろなところが変化した Qt 5 ですが、リリースの携帯も変更になっています。今回のリリースではバイナリパッケージが SDK 形式になっていて、Qt 5.0.0 のバイナリに加えて(Qt 5.0.0 でビルドされた)Qt Creator 2.6.1 も同梱されています。おそらく今後のアップデートは以前の Nokia SDK のようになると思われます。Qt 4.8 向けの環境もあるといいのですが。

Qt Project では既に 5.0.1 と 5.1 に向けて動き始めています。5.0.1 は一月の中旬、5.1 は四月末か五月の始め辺りが目処でしょうか。バグなどを見つけたら フィードバック しましょう。

続きを読む Qt 5.0.0 リリース

Qt 5.0.0 RC1 リリース

Qt Developer Days 2012 North America の開催に合わせて、Qt 5.0.0 RC1 がリリース されました。

Beta2 からは様々なバグ修正と ドキュメントの刷新、サンプルの充実などが主な変更点になります。Qt 5.0 の API はこれで決定となります。まだいくつか 既知の問題点 はありますが、この後大きな問題が無ければそれらなどが修正されて年内にも正式リリースされる見込みです。

Qt4 からの変更点は 変更履歴 を参照してください。ソース互換性のない場所なども書かれています。

是非、試して フィードバック を。これが最後のチャンスです。また、翻訳 もよろしく。

Qt5のブランチ

これまで master ブランチをメインに開発が進められてきた Qt5 の各モジュールですが、5.0.0 のリリースが近づいてきたのをきっかけにブランチの変更が行われました。

今後は master の代わりに dev か stable ブランチを使う事になります。

  • dev: 開発版。とはいってもソース・バイナリコンパチビリティの確保は必要で、不完全な新機能の追加なども禁止です。ドキュメント・テストも含めて開発が完了した新機能の追加が可能です。Qt 5.1 になるブランチです。
  • stable: 基本的に JIRA にあるバグ修正専用。新機能の追加等は禁止です。Qt 5.0 系用のブランチです。

新機能の開発用にブランチが必要な場合はこれらとは別にブランチが作成されます。
また、初期の議論ではリリース後に release ブランチを作成するとも書かれています。

関連する議論はこちら

Qt 5.0.0 String Freeze

Qt5 が 5.0.0 に向けて String Freeze(翻訳元となるメッセージの変更停止)状態となりました。これ以後は原文の変更を恐れずに翻訳を進めることが出来ます。

翻訳に参加したい人は wiki の Qt Localization ページを参照してください。翻訳の進捗とダウンロードするファイルは Qt and Qt Creator translation files で参照・入手できます。12/2 現在は特に日本語の翻訳は提出されていないようです。

翻訳に参加する人は Localization メーリングリスト への参加もお勧めします。

Qt 4.8.4 リリース

11/29 に Qt 4.8.4 がリリース されました。

4.8.4 は基本的にはバグフィックス版ですが、それ以外にも Microsoft Visual Studio 2012(WebKit 以外) と Windows 8 のデスクトップモード(Intel)への対応が行われています。詳細な 変更履歴 はリンク先を確認してください。

ダウンロードは qt-project.org/downloads から。