The blog is moving to a new host on Monday 2nd of September. The comments are disabled during the migration.

Qt

Wayland を使用したマルチ UI プロセス構成のデバイス開発

Published Wednesday January 25th, 2017 | Comments Off on Wayland を使用したマルチ UI プロセス構成のデバイス開発
Posted in Qt | Tags: , ,

この記事は The Qt Blog の Creating devices with multiple UI processes using Wayland を翻訳したものです。 執筆: Johan Helsing, 2017年1月23日 一昔前のユーザーインターフェースのあるデバイスでは、ユーザーインターフェースを実行するプロセスが1つだけあるような設計になっていました。これはユーザーインターフェースからデバイスをコントロールするためのロジックを分離したとても良い設計で、エンドユーザーの操作に対して即座に反応することができました。ハードウェアのコストが下がり性能が向上するにつれ、デバイスができることが増えてきました。ユーザーインターフェースは、非同期のイベントや様々なソースから発生する情報を表示するなど、以前より多くの役割を担う必要がでてきました。SMS のみに対応したシンプルな携帯電話が様々な機能を搭載したフィーチャーフォンに進化し、現在では10年前のパソコンよりも性能がよいスマートフォンがあたりまえになっています。スマートフォンのすべての UI をシングルプロセスで実行するなんて想像しただけで発狂しそうです。というわけで、複雑なデバイスのユーザーインターフェースの構築には同じような技術を導入してはいかがでしょうか? デバイスのユーザーインターフェースをマルチプロセス化するメリット: 安定性と堅牢性: アプリケーションを機能単位で複数に分割することにより、個々のアプリケーションの安定性を最大化でき、万が一あるアプリケーションがクラッシュしたとしても、他のアプリケーションには影響がありません。 開発の効率化: アプリケーションごとに担当するチームを分割することができ、他のチームの影響によるリスクを低減させることができます。 セキュリティ: システムや他のプロセスに対する最低限の権限でアプリケーションを実行することができます。 サードパーティーのアプリケーション開発: サードパーティのアプリケーション開発にデバイスを開放するのが容易になります。様々な UI ツールキットで開発されたアプリケーションを共存させることも可能です。 なぜ Wayland なのか? ユーザーインターフェースのプロセスを分割する決定をする際の技術的な課題は、いかに複数プロセスの画面出力をディスプレイに持っていくかになります。これまでの歴史的なアプローチは X を利用して、独自のウィンドウマネージャーを作成することでした。 最近のアプローチは X のよりシンプルな代替である Wayland を使うことです。 簡単に開発ができ、メンテナンスも楽 最新のグラフィックハードウェアを念頭においたモダンなウィンドウマネージメントの設計 プロトコルの拡張が容易 Wayland はウィンドウマネージメントの新しい業界標準 – 誰でも利用でき、誰でも拡張可能な共通プロトコル Wayland では「コンポジタ」が個々のクライアントのコンテンツをアレンジしてスクリーンに出力する役割を担います。 Qt の […]

Read More

Qt SCXML および Qt Creator での State Chart サポート

Published Wednesday January 25th, 2017 | Comments Off on Qt SCXML および Qt Creator での State Chart サポート
Posted in Qt | Tags: , , ,

この記事は The Qt Blog の Qt SCXML and State Chart Support in Qt Creator を翻訳したものです。 執筆: aportale, 2017年1月23日 Qt 4.6 での Qt State Machine Framework の導入以降、Qt ではステートマシーンを利用したアプリケーションの開発がサポートされています。今回 Qt 5.8 と Qt Creator 4.2 で新たに導入されたステートマシーン向けの対応により、その開発がさらに簡単になりました。 Qt 5.8 では Qt SCXML module が正式対応となり、SCXML を利用したステートマシーンを Qt で使うのがとても簡単になりました。これまでは SCXML は外部のツールを利用して Qt に取り込んでいて、それは依然として可能です。しかし、Qt Creator 4.2 ではステートチャートのビジュアルエディタが実験的にサポートされたため、これを利用して Qt Creator の中でステートチャートを作成したり、編集したりといったことが可能になります。このエディタと最近の Qt Creator の改善により、ステートマシーンを利用したアプリケーションの開発が […]

Read More

Qt 5.8 をリリースしました

Published Wednesday January 25th, 2017 | Comments Off on Qt 5.8 をリリースしました
Posted in Qt, ニュース | Tags: ,

この記事は The Qt Blog の Qt 5.8 released を翻訳したものです。 執筆: Lars Knoll, 2017年1月23日 本日 Qt 5.8 をリリースいたしました。qt.io からダウンロードしていただけます。Qt 5.8 と同時に Qt Creator 4.2.1 もリリースし、Qt for Device Creation も更新いたしました。Qt 5.8 には数多くの新機能が追加され、規模の大きなリリースとなりました。ここでいくつかの紹介をしたいと思います。 Qt Lite Qt 5.8 のメインの新機能の1つが、Qt をより柔軟に簡単にカスタマイズできるようになったことで、特に組み込み機器に向けた機能になります。Qt Lite はこれらを実現するためのプロジェクトのコードネームになります。 私たちの目標は、みなさんのニーズに合うように Qt をカスタマイズし、みなさんのプロジェクトでは必要のない Qt の中の機能を簡単に取り除けるようにすることでした。コンパイル後の Qt のライブラリのサイズを大幅に削減することにより、最終的な成果物のサイズをコンパクトにすることが可能になりました。 この機能の実現には Qt の configure に関わるコードのほとんどの部分の書き直しが必要で、実に長い道のりでした。Qt の configure には Windows と Unix 系の二つのバージョンが存在し、不整合も多々ありました。15年に渡って成長してきたこのソースコードを今回すべて整理いたしました。 結果として、Qt […]

Read More

Qt 5 に向けて

Published Saturday September 8th, 2012 | Comments Off on Qt 5 に向けて
Posted in Qt | Tags: , ,

この記事は Qt Blog の “Towards Qt 5.0” を翻訳したものです。 執筆: Lars Knoll, 2012年9月7日 Qt 5 のベータ版をリリースしてから数日が経ちました。この記事では今後数ヶ月の予定と Qt 5.0.0 の正式リリースについてお話したいと思います。 Digia への移動 最初の重要事項は Qt の Nokia から Digia への移動ですが、これは第三四半期中に完了する方向で進めています。私個人も Digia へ移り、そこで Qt を続けるという選択をしました。これまで Digia との間で様々な議論が行われてきましたが、Qt 自体およびオスロとベルリンの開発チームにとってはとてもいい機会になると私は確信しています。 私の見た限りでは、Digia には Qt に対する信頼できる長期的な戦略があり、製品への強いフォーカスで、Qt 5 を推進し、Qt を最高の開発ツールにしてくれるでしょう。Qt の獲得は Digia にとっては大きな決断でしたが、Qt が将来的に非常に重要になると信じている証拠でもあります。 Digia は Qt のエコシステムをマーケットの中の他のプレイヤーとともに成長させたいと思っています。エコシステムを共有する事の重要性や、Qt のエコシステムにおけるデュアルライセンスモデルの重要性も理解しています。 現在 Qt の商用版を販売している部署にとっては、Nokia から移動する予定のチームは非常に重要な意味を持つでしょう。Nokia から移る人のほとんどは開発者で、実際には元 […]

Read More

Qt 5 ベータ版リリース

Published Monday September 3rd, 2012 | Comments Off on Qt 5 ベータ版リリース
Posted in Qt, ニュース | Tags: , ,

この記事は Qt Blog の “Qt 5 Beta is here” を翻訳したものです。 執筆: Lars Knoll, 2012年8月30日 Qt Project 傘下における初のメジャーリリースとなる Qt 5 ベータ版 がリリースされました。協力してくださったすべての方々に感謝します。この Qt 5 ベータ版のリリースをきっかけに、Qt の次のメジャーバージョンである Qt 5 を是非皆さんに試していただきたいと思います。Qt 5.0 の正式リリースをできる限り良いものにするためにも、皆さんからのフィードバックが非常に重要です。 Qt 5 の開発スタートをアナウンスしてから15ヶ月が経ちました。これまでに達成した内容を確認して、本当にうれしく思います。計画していた 大規模なアーキテクチャ変更 のすべては実装されました。また同時に、Qt と qt-project.org を取り巻くコミュニティも立派に成長してきました。 Qt 5 では以下のものを簡単にかつ速く創る事が出来ます。 限られたリソースでもスムーズでアクセラレーションされたグラフィックパフォーマンス。Qt 5 はそれほど高価ではないハードウェアにおいてもより良いパフォーマンスを実現するために GPU をより活用します。例えば Qt 5 を使えば、Raspberry Pi のような安価なシングルボードコンピュータにおいても 60 FPS のパフォーマンスを実現できます。詳しくは Qt […]

Read More

Qt Sensor Gestures

Published Monday July 30th, 2012 | Comments Off on Qt Sensor Gestures
Posted in Qt | Tags: ,

この記事は Qt Blog の “Qt Sensor Gestures” を翻訳したものです。 執筆: Lorn Potter, 2012年7月20日 ここブリスベンの日差しの中で、私達が行なっていることは年中裸足でいることだけではありません。QtDeclarative や QtMultimedia、QtLocation、QtSystems、QtSensors などの開発を活発に行っています。そうそう、品質保証(QA)と CI システムについても忘れてはいけません。 もちろん、その中で最もエキサイティングなのがこの QSensorGestures です! QtDeclarative や Qt3D, QtMultimedia と QtSensorGestures を使う事で、膨大な可能性を持つ素晴らしいクロスプラットフォームのゲーム開発環境を手に入れる事ができます。なんと素晴らしい! 私の知る限り、ここ最近のコンソールゲーム機やタブレット、モバイル機器(やロボット)でのホットトピックというと、ジェスチャー認識です。Qt Sensors チームで働いているので、加速度センサーだけでなく、光学センサーや近接センサーを組み合わせて使ったジェスチャー認識を調査し、それを Qt の世界でも分かち合うことにしました。 ジェスチャー認識に関する多くの研究報告書があります。その多くはソフトウェアにジェスチャーを教え込むために膨大なトレーニングデータと時間を費やす高度なアプローチとアルゴリズムを用いています。これらのシステムは通常複雑なもので、サポートするジェスチャーに関しての多くの詳細なデータを持ちます。 Qt 5 の Qt Sensors ライブラリは Qt Mobility の一部として開発されていたものです。Qt Sensor Gestures API は QtSensors のコードが Qt 5 の開発ブランチに取り込まれた後に、開発が始まりました。 Qt の Sensor […]

Read More

Qt 5 アクセシビリティ API

Published Tuesday July 24th, 2012 | Comments Off on Qt 5 アクセシビリティ API
Posted in Qt | Tags: ,

この記事は Qt Blog の “Qt 5 Accessibility APIs” を翻訳したものです。 執筆: Frederik Gladhorn, 2012年6月18日 Qt 4 から Qt 5 へのアップデートはゆるやかでスムーズなものとなります。基本的にはソース互換性を維持します。ただし、絶対に必要だと思われる領域に関してはその限りではありません。 アクセシビリティはそのような領域の一つで、Qt 5 への移行時に影響を受ける大きな変更が加えられました。 これは、これまでの API は古く、すべてのプラットフォームにおいてアクセシビリティの実装を改善することができなかったためです。 変更にあたって、一旦すべてのアクセシビリティ API をインターナルとしてマークしました。すなわち、これらの API は「不可視化」され、ドキュメントにも載りません。これはこの巨大な変更による API が確定しておらず、かつ充分にテストされていないためです。Qt 5.1 のリリースで正式な API とするのが適切だと思います。しかし、特別な設定を行わなくてもテストは行えるように、有効にする手段を用意しました。その間はドキュメントはありませんが、既存の Qt 4 よりも大幅に改善されていることが分かると思います。 Linux 向けの新しいアクセシビリティブリッジの開発時に、みなさんからのフィードバックで API の限界が判明したため、できる限りその解決を行おうとしました。元々の API は Windows 95 でサポートされたアクセシビリティ API である MSAA にインスパイアされたものでした。 その後も、開発者がユーザをより良くサポートできるように、そしてもちろんユーザがコンピュータをできる限り活用できるようにアクセシビリティの世界は変わり続けてきています。大規模な変更は行っていませんが、様々なところをブラッシュアップして、API はとても分かりやすくより間違いにくいようになりました。一つの大きな改善としてはプラットフォームへの通知の送信方法で、ようやくツールに対して十分な情報が提供できるようになりました。 Qt […]

Read More

Qt 5 でのメタオブジェクトシステムの変更点

Published Tuesday July 3rd, 2012 | Comments Off on Qt 5 でのメタオブジェクトシステムの変更点
Posted in Qt | Tags: , ,

この記事は Qt Blog の “Changes to the Meta-Object System in Qt 5” を翻訳したものです。 執筆: Kent Hansen, 2012年6月22日 Qt 5 では メタオブジェクトシステム に対する変更が行われました。内部的な変更だけではなく、API にも変更があります。Qt 4 とのソースコード互換性のない変更も行われました。この記事では、これらの変更の詳細とどのような対応が必要になるのかについて紹介したいと思います。また、QMetaMethod に新たに加えられた便利な API の紹介もあわせてしたいと思います。 Qt 4 でのメタオブジェクトのバージョンのサポートの削除 (moc によって生成される)メタオブジェクトにはデータの(形式や順番などの)内容やメタオブジェクトの機能を特定するためのバージョン番号が含まれています。Qt の(マイナー)リリースでメタオブジェクトに(クラスのコンストラクタを検索可能にするような)新機能を追加した際には、このメタオブジェクトのバージョンを上げる対応が必要になります。そして、Qt 4 での最終的なメタオブジェクトのバージョンは 6 でした。 Qt のマイナーリリースでは、後方互換性の維持のために古いのバージョンもメタオブジェクトもサポートしていました。内部のコードでは、それぞれのメタオブジェクトに対してバージョンをチェックし、それに応じた処理が行われていました。 Qt 5 は Qt 4 とのバイナリ互換性を保持しないため、メタオブジェクトの以前のバージョンのサポートを打ち切るちょうどいい機会になりました。Qt 5 では Qt 4 で対応してきた様々なバージョンのメタオブジェクトが生成されることはないので、それらのバージョンに対応するためのコードを削除しました。Qt 5 での現在のメタオブジェクトのバージョンは 7 になります。

Read More

Qt 4.8.2 と Visual Studio Add-In 1.1.11 リリース

Published Wednesday May 23rd, 2012 | Comments Off on Qt 4.8.2 と Visual Studio Add-In 1.1.11 リリース
Posted in Qt, ニュース | Tags: , ,

この記事は [qt-blogs] の “Qt 4.8.2 and Visual Studio Add-In 1.1.11 Released” を翻訳したものです。 執筆: David Stone, 2012年5月22日 本日の記事と Qt 4.8.2 は Digia, Qt Commercial の Director R&D Tuukka Turunen に提供していただきました。 Qt Project の一員として、Digia は Qt 商用版のリリースに加えて Qt LGPL 版のパッケージングとテストを担当しています。Qt Project への他の貢献者の方々と共に本日の Qt 4.8.2 のリリース をサポートできたことをうれしく思います。またそれだけではなく、Visual Studio Add-In に要望の多かった機能と修正を行ってアップデートしました。 Qt 4.8.2 はパッチリリースであり、前回の4.8.1から約150項目の改善やバグ修正を行っています。 Qt 4.8.2 の概要 100項目以上の機能改善 WebKit […]

Read More

Qt 5 における C++ と Qt Widgets

Published Friday April 27th, 2012 | Comments Off on Qt 5 における C++ と Qt Widgets
Posted in Qt | Tags:

この記事は Qt Blog の “Qt 5, C++ and Qt Widgets” を翻訳したものです。 執筆: Lars Knoll, 2012年4月18日 Qt 5 における C++ と QWidget に対する我々の姿勢に関して様々な関心や質問が寄せられています。ちょうど良いタイミングかもしれないので、この記事で回答することにしました。 「Qt 5 アルファ版」のリリース記事では、我々が Qt 5 で新たに 行いたいこと、追加したいもの にフォーカスを絞っていました。 ここで1つ明らかにしておきたいことがあります。 Qt 5 では QWidget およびすべての派生クラスはデスクトップ系で重要な位置を占めます。 これまで Qt 4.x で行ってきたのとまったく同じ方法で、アプリケーションを書くことは引き続き可能です。

Read More
Get started today with Qt Download now