taro3.github.io

View on GitHub

Mastering Qt5に沿って勉強するページ

1.Qt入門(概要説明)

プロジェクトの作成

MainWindowの構造

Qt Designer

シグナルとスロット

カスタムQWidget

タスクの追加

QDialogの使用

コード責任の分散

ラムダ式を使用したカスタムシグナルのエミット

auto型とレンジベースのfor文でシンプルに

まとめ


2.QMakeの秘密を発見する

クロスプラットフォームプロジェクトの設計

Windowsの実装を追加する

Linuxの実装を追加する

Mac OSの実装を追加する

SysInfoをシングルトンに変換する

Qt Chartsを探る

QChartsを使ったCpuWidget

QChartsを使ったメモリ使用画面

.proファイルの深層

qmakeの内部

Q_OBJECTとシグナル/スロットのもとで


3.プロジェクトの分割とコードのルール化

メンテナンス可能なプロジェクトの設計

データクラスの定義

データをデータベースに保存する

スマートポインタでコードを保護する

モデルの実装


4.デスクトップUIの克服

コアな共有ライブラリと連携したGUIの作成

AlbumListWidgetでアルバムをリストアップ

ThumbnailProxyModelの作成

選択したアルバムを AlbumWidget で表示する

PictureDelegateでサムネイルを強化する

PictureWidgetで像を表示する

ギャラリーアプリの構成


5.モバイルUIを支配する

Qt QuickとQMLで始める

開発環境の確認

Qt Quickプロジェクトの作成

Qtクイックギャラリーのエントリーポイントの準備

ListViewでアルバムを表示する

QMLシングルトンを用いたアプリケーションのプログラミング

モバイルでのデータベースの読み込み

カスタムInputDialogから新しいアルバムを作成する

ImageProviderで画像を読み込む

GridViewでサムネイルを表示する

フル解像度の写真をスワイプで表示


6.QtはRaspberry Piに向いている

Qt3Dの発見

Raspberry Pi用にQtを設定する

Qt3Dコードのエントリーポイントの作成

シーンの設定

Qt3Dエンティティの組み立て

ボードゲームの準備

ファクトリから実体を作る

JavaScriptでスネークエンジンを構築する

QMLの状態でHUDを変化させる

QML アプリケーションのプロファイリング


7.頭痛のないサードパーティ製ライブラリ

Qt Designer プラグインの作成

Windows用のプロジェクトを設定する

Linux用のプロジェクトを設定する

Mac用のプロジェクトを設定する

OpenCVフィルタの実装

FilterWidget で UI をデザインする

プラグインを Qt Designer に公開する

Qt Designer プラグインを使用する

画像フィルタアプリケーションの構築


8.アニメーション - It’s Alive, Alive!

SDKの準備

プラグインの作成

プラグインを動的にロードする

アプリケーション内部のプラグインを使用する

アニメーションフレームワークの発見

サムネイルをジャンプさせる

写真をフェードインして

サムネイルを連続で点滅させる


9.マルチスレッドで正気を保つ

Qスレッドの発見

Qt のマルチスレッド技術の上を飛ぶ

マンデルブロプロジェクトの建築

QRunnableでジョブクラスを定義する

MandelbrotCalculatorでのQThreadPoolの使用

MandelbrotWidgetでフラクタルを表示する


10.IPCが必要ですか?ミニオンを働かせましょう

IPCプロジェクトの構築

SDK を使って基礎を固める

QDataStreamとQTcpSocketを使った作業

ワーカーのソケットとの相互作用

アプリケーションからのソケットとのインタラクション

独自の QTcpServer を構築する


11.シリアライズを楽しむ

ドラムマシンプロジェクトの構築

ドラムトラックの作成

QVariant を使ってオブジェクトをシリアル化する

JSON形式でのオブジェクトのシリアライズ

XML 形式のオブジェクトのシリアライズ

バイナリ形式でのオブジェクトのシリアライズ

QSoundEffectで低レイテンシーのサウンドを再生する

キーボードでQButtonをトリガーする

PlaybackWorkerに命を吹き込む

マウスのドラッグ&ドロップイベントを受け入れる


12.QTestで合格しなければならない(してはならない)

Qtテストの理解

テストの実行

データセットを用いた因数分解検定の記述

コードのベンチマーク

GUIのテスト

QSignalSpyでアプリケーションをスパイする


13.すべてが梱包され、配備の準備ができています。

アプリケーションのパッケージング

Windows用パッケージ

ディストリビューションパッケージを使ったLinuxのパッケージ化

AppImageを使ったLinuxのパッケージング

Mac OS X用パッケージ

Android用パッケージ

iOS用パッケージ


14.Qtハットのヒントとコツ

セッションでワークスペースを管理する

ロケーターで検索

コンパイル速度の向上

Qt Creatorでメモリを調べる

乱数の生成

使用されていない変数の警告の消音

カスタムオブジェクトをQDebugにロギングする

ログメッセージの改善

ログをファイルに保存する

コマンドラインインターフェイスの生成

HTTPデータの送受信


以降、現在制作中です…。