クロスプラットフォームライブラリとAPI
Qt Creator IDEと生産性向上ツール
UI compositionのためのUIデザインツール
産業アプリケーション向けのQtテンプレート
受託開発、トレーニング、サポート等
Qtは、UIデザインやソフトウェア開発から品質保証、展開に至るまで、製品開発ライフサイクル全体で生産性を向上させます。あなたのニーズに最も適したソリューションを見つけてください。
最新のリソースを入手し、今後のイベントを確認しましょう。
理想的な学習リソースを見つけたり、コミュニティと交流したりして、Qtのスキルを向上させましょう。
初心者であろうとベテランのQtプロであろうと、成功するために必要なサポートと助けがすべて揃っています。
3月 18, 2017 by 鈴木 佑 | Comments
この記事は The Qt Blog の What’s New in Qt on Apple Platforms を翻訳したものです。
執筆: Jake Petroules, 2017年1月30日
※注: この記事内で使われる「アップルプラットフォーム」はアップル社が現在提供している4つのすべての OS (macOS, iOS, tvOS, watchOS) を指しています。
今回私は Qt 5.8 リリースにおけるアップルプラットフォームについて紹介したいと思います。
まず初めに、Qt は 5.8 で Apple TV と Apple Watch の技術プレビューレベルの対応をいたしました。これによりすべてのアップルプラットフォーム (macOS, iOS, tvOS, watchOS) に対応することになります。
Qt の tvOS 対応の 95% は iOS と同じで、対応している機能やモジュールについても、QtWebEngine 以外は iOS と同じ状況になっています。
これらの二つのプラットフォームにおいて、一番の違いは入力デバイスの制御です。iOS はタッチでの動作が基本で、これは昔ながらのデスクトップ環境でのマウスのクリックとプログラミング的には一緒です。tvOS はフォーカスをベースにした仕組みが取り入れられています。これにより、(x, y) のような2次元座標的に入力を受けとるのではなく、フォーカス状態に応じてイベントを受け取ることができるようになっています。あるオブジェクトにフォーカスが当たっている場合には Apple TV Remote のトラックパッド操作やメニュー、再生、一時停止などのボタンに応じたアクションを実装する事が可能になります。
Qt は (スクロールやクリックを認識する) tvOS の入力システムをある程度はサポートしていますが、tvOS のアプリ向けの QML で入力をハンドリングするにはいくつかの手作業が必要になります。Apple TV Remote のほとんどの基本的なナビアクションは Qt のキーボードイベントとして利用可能で、より複雑なマルチタッチもジェスチャーとしてハンドリング可能です。今後導入予定の新しい入力処理機能ではさらに簡単にこれらを扱うことができるようになる予定です。
Qt の tvOS をリードしてくれた Mike Krus に多大な感謝を述べるとともに、彼がこのプラットフォームのメンテナであることをここに記します。
watchOS 向けの Qt も iOS のコードを最大限利用しています。しかし、Apple Watch では基本的な API が (UIKit ではなく) WatchKit なため、QML を動かしたりその他の Qt の GUI を表示することはできません。このため、現時点では UI 以外の部分(ネットワークやオーディオ、UI 以外でのグラフィックスの処理)などでのみ Qt を利用可能です。将来的に watchOS の API が変更になった場合には、GUI の部分も利用できるようにする予定です。
私は watchOS のメンテナもしているので、質問やフィードバックは私の方までお願いします。
多くの iOS 開発者の方はご存知のとおり、iOS ではこれまで静的ライブラリのみが許可されていました。Apple の App Store requirements では、OS レベルでは 1.0 からサポートされている共有ライブラリは禁止されていました。しかし、2014 年に登場した iOS 8 と Xcode 6 にて共有ライブラリ/フレームワークの App Store に提出するアプリケーションでの利用が Apple によって正式にサポートされました。残念ながら Qt 5.8 には間に合いませんでしたが… Qt 5.9 では正式にサポートする予定です。
iOS 向けに Qt を共有ライブラリとしてビルドするのは簡単で、configure のオプションに -shared を追加するだけです(これは Qt 5. 9 ではデフォルトになります)。共有ライブラリの利用は iOS 8.0 以降が対象になるため、Qt 5.9 の iOS 対応も 8.0 以降が対象になります。
共有ライブラリが利用可能になったことで、これまで iOS 向けは静的ライブラリ、その他のプラットフォームでは共有ライブラリを使用するようにしていたコードが共通化できます。また、以下のメリットがあります。
これにより自然とこの疑問が生まれます。共有ライブラリは LGPL ユーザーには影響がないと思っています。Apple の App Store(のDRM) をどうするかとういう問題はありますが、前述のような技術的な観点から共有ライブラリの利用を推奨します。そしていつも通り、ソフトウェアのライセンスに関しては法務の専門家の助言にしたがいましょう。
最近のいくつかの Qt のリリースにおいて、アップルプラットフォーム向けのビルドシステムの機能の追加を行ってきました。
最後ですが、”Max OS X” と “OS X” という名称をすべて “macOS” にする対応を継続中です。
Download the latest release here: www.qt.io/download.
Qt 6.8 release focuses on technology trends like spatial computing & XR, complex data visualization in 2D & 3D, and ARM-based development for desktop.
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.
1 23, 2025
本稿は「Embedding Android Activities with Full Qt Quick Features」の抄訳です。 Qt for..
1 21, 2025
本稿は「Security advisory: A read past the end of the buffer and division by..
11 29, 2024
本稿は「Qt support on Apple platforms」の抄訳です。 Qt 6.8.1 および 6.5.8..
Qt Group includes The Qt Company Oy and its global subsidiaries and affiliates.