Qt QuickではじめるクロスプラットフォームUIプログラミング
2,288円 (2,080円+税)
関連サイト
本書の詳細ページが用意されています。
内容紹介
Qt Quickは、クロスプラットフォームフレームワークであるQtを使用して生まれたGUI開発に特化した仕組みである。家庭・業務を問わずさまざまなシーンで利用されるPCは必ずしもOSが統一されておらず、複数のプラットフォーム(OS)で動作するアプリケーションが求められている。Qtは、このような要求に答えてくれる強力なフレームワークである。
たとえば、著者はAndroidに関連する開発者向けの簡単なツールを1つ作成したのだが、移植作業をほぼしないでWindows/Linux/Mac OS X向けにリリースすることができた。このようにどのプラットフォームでも動作するという大きなユーザーニーズに答えることができる。
動作プラットフォームはデスクトップOSから組み込み系OSまで広く対応しており、Qt独自の世界観で開発ができる。タッチパネルを意識した仕組みや、最近ではスマートフォンですっかり馴染んでいるアニメーション効果も用意されており、アプリケーションの価値を高めてくれる。
Qtには強力な統合開発環境(IDE)が付属しており、シンタックスハイライトやコード補完などの基本的なことから作成したアプリケーションのデバッグやプロファイリング、バージョン管理ツールとの連携など、豊富な機能が提供されている。
Qtは開発言語にC++を使用していたが、Qt QuickではCSSに似た書式のQML(Qt Meta-Object Language)とJavaScriptを使用して記述する。Webアプリケーション(HTML + JavaScript + CSS)開発の経験があれば、とっつきやすいだろう。すでにパラパラと本誌のページをめくって見慣れないソースコードが書かれていると思った方でも、他にソフトウェアの開発経験があれば非常に簡単に習得できるフレームワークである。また、VHDLやVerilogなどのハードウェア記述言語にも似た部分があるため、FPGAを使用したハードウェア設計の経験がある方にもお勧めしたい。
書誌情報
- 著者: 折戸孝行
- 発行日: 2013-08-02
- 最終更新日: 2013-08-02
- バージョン: 1.0.0
- ページ数: 313ページ
- 対応フォーマット: PDF, EPUB
- 出版社: KADOKAWA/アスキー・メディアワークス
対象読者
Qt Quickを使いたい方、クロスプラットフォームGUIアプリを開発したい方
著者について
折戸孝行
名古屋近郊に務めるソフトウェアエンジニア。仕事では主にWindows CEを使用したシステムの構築を行ってきた。現在は、プロセス設計や再構築のサポートがメインになり仕事ではコードを書いていないのを少しさみしく思っている。
2011年の名古屋Qt勉強会で、S氏によるQt Quickの発表に衝撃を受けたのがQtとの出会い。作成したアプリケーションがたくさんのプラットフォームで簡単に動作させられることものめり込むきっかけになった。数カ月後にはQt Ambassadorになり、Qt(主にQt Quick)のすばらしさやおもしろさをたくさんの人に知ってもらえるように勉強会やブログなどで情報を発信している。
Windows(デスクトップ、モバイル)やWebやAndroidなどでアプリケーション開発を行ってきて新しいフレームワークやプラットフォームに出会うたびに便利だと思うことは常にあったが、Qtの便利さはズルいと思っている。
ブログ:http://relog.xii.jp/
目次
はじめに
第1章 Qtとは
- 1.1 Qt Quickとは
- 1.2 QMLでできること、C++を使うべきこと
- 1.3 開発環境について
第2章 開発環境の作成
- 2.1 Qtのバージョンと動作確認環境
- 2.2 事前準備
- 2.2.1 Windowsでは
- 2.2.2 Linuxでは
- 2.2.3 Mac OS Xでは
- 2.3 Qtの入手
- 2.4 インストール
- 2.5 環境設定
- 2.5.1 コンパイラおよびキットの設定
- 2.5.2 ファイルのデフォルト文字コード
- 2.5.3 Windows(Visual C++)での注意点
- 2.5.4 Mac OS Xでの注意点
第3章 はじめてのQt Quickアプリケーション
- 3.1 プロジェクト作成
- 3.2 プロジェクトのファイル構成
- 3.3 文法
- 3.3.1 エレメント
- 3.3.2 プロパティ
- 3.3.3 コメント
- 3.3.4 ハンドラ
- 3.3.5 多言語対応の準備
- 3.4 実行とデバッグ
- 3.4.1 アプリケーションの実行
- 3.4.2 初回のデバッグ実行時の注意
- 3.4.3 コンソールデバッグ
- 3.4.4 ブレーク
- 3.4.5 プロファイル
第4章 Qt Quick基礎編
- 4.1 プロパティバインディング
- 4.2 レイアウト
- 4.2.1 相対座標指定
- 4.2.2 アンカー指定
- 4.3 機能のカプセル化
- 4.3.1 拡張エレメントの作成
- 4.3.2 プロパティの追加
- 4.3.3 関数
- 4.3.4 プロパティと関数の参照と優先度
- 4.4 シグナル
- 4.4.1 プロパティの変化を通知するシグナル
- 4.4.2 任意のできごとを通知するシグナル
- 4.5 マウス入力
- 4.5.1 カーソルの移動に関連する動作について
- 4.5.2 クリックに関連する動作について
- 4.6 キーボード入力とフォーカス
- 4.7 状態管理
- 4.7.1 「~のとき」で状態を管理
- 4.7.2 「名前」で状態を管理
- 4.8 アニメーション
- 4.8.1 単独でアニメーション
- 4.8.2 プロパティの変化でアニメーション
- 4.8.3 状態の遷移でアニメーション
- 4.8.4 アニメーションを制御する関数
- 4.8.5 その他のアニメーション
- 4.9 モデルとデリゲート
- 4.9.1 基本的な使用方法
- 4.9.2 情報の流れ
- 4.9.3 情報の動的な管理
- 4.9.4 記述方法のバリエーション その1
- 4.9.5 記述方法のバリエーション その2
- 4.10 JavaScriptコードの分離
- 4.10.1 インポートと変数の共通化
- 4.11 id プロパティの参照イメージ
- 4.11.1 同一ファイル内の参照
- 4.11.2 ファイルをまたぐ親方向の参照
- 4.11.3 ファイルをまたぐ子方向の参照
第5章 Qt Quick実践編
- 5.1 完成目標
- 5.1.1 音楽プレーヤー
- 5.1.2 マルチメディアプレーヤー
- 5.1.3 ギャラリーアプリ
- 5.2 音楽プレーヤー
- 5.2.1 音楽の再生
- 5.2.2 ボタンの作成
- 5.2.3 ボタンを操作機能として分離
- 5.2.4 曲情報の表示
- 5.2.5 再生位置の表示と変更
- 5.2.6 フォルダの曲を一覧表示
- 5.3 マルチメディアプレーヤー
- 5.3.1 動画の再生
- 5.4 ギャラリーアプリ
- 5.4.1 画像の表示
- 5.4.2 画像にコメントを残す
- 5.4.3 Web APIを使用して画像を表示
第6章 アプリケーションを良くする一工夫
- 6.1 グラデーション
- 6.2 3 次元的な表現
- 6.3 パーティクル
- 6.3.1 パーティクルの概要
- 6.3.2 基本的な使用方法
- 6.4 任意の経路でアニメーション
- 6.5 C++での拡張
- 6.5.1 準備
- 6.5.2 プロジェクトの作成
- 6.5.3 プロジェクトのファイル構成
- 6.5.4 描画処理とプロパティの追加
- 6.5.5 オリジナルエレメントの使用方法 その1
- 6.5.6 オリジナルエレメントの使用方法 その2
- 6.5.7 サムネイル画像作成機能の実装
- 6.6 多言語対応
- 6.6.1 作業フォルダを追加
- 6.6.2 C++コードの修正
- 6.6.3 多言語対応する文字列にマーキング
- 6.6.4 翻訳ファイル(*.ts)を作成
- 6.6.5 翻訳ファイル(*.ts)の内容を編集
- 6.6.6 言語ファイル(*.qm)を作成
- 6.6.7 翻訳ファイルの作成と編集を簡単にする設定
- 6.7 ドラッグ&ドロップ
- 6.7.1 実際に使ってみる
- 6.8 エレメントの動的読み込み
- 6.8.1 Loaderエレメントを使用した動的読み込み
- 6.8.2 JavaScript関数からの動的読み込み
- 6.9 キャンバス
- 6.9.1 簡単なお絵かきツールを作る
- 6.9.2 QMLらしく使う
- 6.10 WebView
- 6.11 プラットフォーム(OS)ごとに違う動きをさせる
- 6.11.1 クラスの追加
- 6.11.2 QGalleryPluginの修正
- 6.11.3 QGalleryの修正
- 6.12 アイコンの変更
- 6.12.1 Windowsでは
- 6.12.2 Linuxでは
- 6.12.3 Mac OS Xでは
第7章 アプリケーションの配布
- 7.1 ライブラリの分類
- 7.2 Windowsでは
- 7.2.1 ライブラリの入手元
- 7.2.2 必要なライブラリ
- 7.2.3 必要なライブラリの調べ方
- 7.2.4 パッケージの作成
- 7.3 Linuxでは
- 7.3.1 ライブラリの入手元
- 7.3.2 必要なライブラリ
- 7.3.3 必要なライブラリの調べ方
- 7.3.4 アプリケーション実行用スクリプトの作成
- 7.3.5 パッケージの作成
- 7.4 Mac OS Xでは
- 7.4.1 ライブラリの入手元
- 7.4.2 必要なライブラリ
- 7.4.3 必要なライブラリの調べ方
- 7.4.4 パッケージの作成
- 7.5 QMLファイルをリソースに含める
- 7.5.1 リソースファイルの追加と管理
- 7.5.2 リソースのQMLファイルを読み込む
第8章 モバイル対応
- 8.1 Androidアプリケーションの作成方法
- 8.1.1 セットアップ
- 8.1.2 Android独自の設定
- 8.1.3 プロジェクトの作成
- 8.1.4 プロジェクトの設定
- 8.1.5 実行
付録A 型一覧
付録B エレメント一覧
- B.1 基本系
- B.1.1 基本
- B.1.2 ユーティリティ
- B.1.3 生成
- B.1.4 変形
- B.1.5 入力
- B.1.6 入力ユーティリティ
- B.1.7 入力イベント
- B.1.8 配置
- B.1.9 状態
- B.1.10 アニメーション
- B.1.11 型に紐づくアニメーション
- B.1.12 ローレベルアニメーション
- B.1.13 パス
- B.1.14 モデル
- B.1.15 表示
- B.1.16 グラフィックスエフェクト
- B.1.17 便利機能
- B.1.18 キャンバス
- B.2 グラフィックスエフェクト
- B.3 マルチメディア
- B.4 ファイルシステム
- B.5 ローカルストレージ
- B.6 ウィンドウ
- B.7 XML解析
- B.8 パーティクル
- B.9 ウェブページ
- B.10 グローバルQtオブジェクト
- B.11 データベースの保存場所