QMLモデル・ビュー構築入門

QMLにおけるモデル・ビュー構造の理解 Qtフレームワークの進化は著しく、QMLはその重要な構成要素として注目されています。QMLはもともとQt 4.7でモバイル開発向けに導入されましたが、現在ではデスクトップアプリケーション開発にも広く対応しています。 QMLは視覚表現とロジックの分離を実現し、HTMLとJavaScriptの関係に似ています。QtのC++ベースのMVCアーキテクチャ ...

7月18日 17:56 投稿

QMLアプリケーションにおけるWindowsシステム情報取得手法

QMLアプリケーション開発時に、システムのカラー情報やアイコンを取得する必要がある場合、Win32 APIを活用することで効率的に実装できます。 プロジェクト設定ファイルに必要なライブラリを追加します。 QT += svg gui # Windows API設定 win32:LIBS += -lUser32 -lgdi32 # OpenCV設定 win32:CONFIG(release, debug|release): { LIBS += -L$$PWD/opencv/lib -lopenc ...

7月5日 00:17 投稿

QMLで写真を自由に配置・操作するデスクトップビューア

Qt Widgets から Qt Quick/QML へ移行すると「UI をもっと気軽に作れるはずだが、複雑なインタラクションは Widgets の方が楽では?」と思いがちです。実際に触ってみると、そんな先入観は簡単に崩れます。本稿では、シンプルなコードで写真を並べ、ドラッグ/ピンチ/ホイールで拡大・縮小・回転できるデスクトップアプリケーション「PhotoSurface」を題材に、QML の実装 ...

6月24日 20:45 投稿

QMLとC++によるデータ分離アーキテクチャの実践 - QAbstractListModelを用いた動的リスト実装

データ分離アーキテクチャの概要 Qt5以降、QMLはデスクトップアプリケーション開発における第一級のUI構築技術として定着しました。本稿では、QMLが担当するプレゼンテーション層とC++が担当するデータ層を明確に分離する実装パターンを解説します。このアプローチにより、QMLは高速なレンダリングに専念し、データ管理やビジネスロジックはC++側で堅牢に実装できます。両 ...

6月20日 19:25 投稿

QMLを使用したマリンタワーディフェンスゲームの実装分析

1. ゲーム概要 この記事ではQtに付属するQMLデモゲーム「Maroon」の実装を分析します。海洋生物をテーマにしたタワーディフェンスゲームで、以下のような特徴があります: 4種類の防御タワー(海藻、星、タコ、カニ) 敵キャラクターは魚の入った泡 ゲーム進行に伴い難易度が上昇 2. 主要コンポーネント 2.1 基本構造 ゲームの主要コンポーネントは以下のように構成 ...

5月28日 02:03 投稿

QML コーディングにおける Q_PROPERTY 不足問題の解決策

Qt でクライアント向けのアノテーションクラスを実装する際、C++ の主要データを QML に公開するために Q_PROPERTY を多用すると、十数個しか使えないという制限に遭遇しました。 class ImageShow : public QQuickPaintedItem { Q_OBJECT Q_PROPERTY(QJsonObject minio_source READ minio_source WRITE setMinio_source NOTIFY minio_sourceChanged) Q_PROPER ...

5月15日 08:50 投稿