QPainterPathによる可変方向ポインタ付きダイナミックバルーン

以前の記事では固定方向の不規則なバルーンウィンドウについて説明しましたが、今回は、方向を動的に変更できるバルーンウィンドウの実装方法について説明します。 レイアウト構造 このバルーンウィンドウは、2つのレイアウト(水平と垂直)と2つのスペースアイテム、そしてメッセージ表示部から構成されます。以下の図のような構造になります。 図1図2図3図4 UIはQt De ...

7月24日 02:06 投稿

Qtでマウスドラッグによる矩形移動を実装する

Qtでドラッグ可能な矩形を実現するには、QWidgetを継承したカスタムクラスを作成し、マウスイベントのハンドリングと描画処理を統合します。以下は、座標変換を正確に扱い、親ウィジェット内での安定したドラッグ動作を保証する改良版実装です。 まず、DraggableBoxという名前のカスタムウィジェットを定義します。このクラスは、ドラッグ中の相対オフセットを保持し、親 ...

7月8日 20:17 投稿

Qtカスタムウィジェット:QPainterによる回転待機アニメーションの実装

GUIアプリケーション開発において、処理中の待機時間をユーザーに視覚的に伝えるためのインジケータは重要な要素です。GIFアニメーションを利用する手法もありますが、QtのQPainterを活用して純粋なコードで描画することで、解像度に依存しない鮮明な表示が可能になり、動的な色やサイズの変更も容易になります。ここでは、QWidgetを継承したカスタムクラスを作成し、QTime ...

6月22日 22:56 投稿

QWidget ベースのカスタムカレンダーコントロールの実装

1. はじめに この記事では、2つの異なるアプローチで実装したカスタムカレンダーコントロールについて解説します。1つはQLabelを並べて日付を表現する方法、もう1つはQWidgetを継承して自前で描画する方法です。どちらにも長所・短所がありますが、ここでは後者の「自描画方式」に焦点を当て、その実装の詳細を紹介します。サンプルプログラムの実行イメージは以下の通りで ...

5月28日 11:06 投稿