グラフィックスは、(a)は、グラフィックスアーキテクチャを見ます

Qtはグラフィックスビューは、グラフィックス・アーキテクチャを提供し、複雑なインタラクティブなグラフィックスを描画します、それが基づいているグラフィック項目(グラフィック項目)モデル/ビューモード

グラフィックスは、数十基本パターン要素を描画することができ、各グラフィック要素が選択可能であり、かつ抗力を修正することができる複雑なグラフィックス・アーキテクチャを使用してビュー

シーン、ビュー、グラフィック項目:グラフィックスビューアーキテクチャは、次の3つの部分から構成さ

1.シーン(シーン)

QGraphicsSceneクラスは、グラフィックス場面(シーン)を提供します。シーンは見えない抽象コンテナ管理のグラフィック項目をさせることができている、グラフィックアイテムのシーンを追加するシーンでグラフィック項目を取得し、

1)グラフィックアイテム高速インターフェースの多数の管理を提供

2)イベントは、各グラフィック項目に伝播しました

各項目の3)グラフィック状態管理:選択フォーカス状態

4)経営形質転換されていないレンダリング機能

シーンがあり、背景レイヤ前景レイヤ通常QBrushで指定されたが、

2.ビュー

提供QGraphicsViewの図面ビュー(ビュー)コンポーネント、表示のためのシーンでこれは、同じデータセットに異なるビューポートを提供するために、シーンの複数のビューに設定することができます

背面図、及び可視にキーボード及びマウス入力イベントシーンに変換し、シーン座標変換された送信を受信します

3.グラフィックアイテム

  グラフィックアイテム:基本的なグラフィック要素、ベースクラス:QGraphicsItem

  他の描画QGraphicsEclipseItem QGraphicsTextItemの楕円形、QGraphicsRectItemを描く長方形、テキスト表示

  マウスのサポートインシデントレスポンス     サポートキーボード入力、キーイベント

  サポートドラッグ&ドロップ     のサポートの組み合わせは、QGraphicsItemGroupクラスを組み合わせることにより、アイテムの父と息子の組み合わせとの関係もあり

 

概要:シーンは、コンテナのグラフィックアイテムである、あなたが現場にグラフィックアイテムの多くを描くことができ、各項目は、グラフィックオブジェクトで、これらの項目は、ように、グラフィカル、ドラッグとを選択することができます。

    ビューポートエリアシーンの部分の図であり、シーンが複数のビューを持っていること

    ビューは、異なる角度からの部分領域または全域、または観測されたシーンの場面を示しています

 

4.グラフィックスビューを持っている3つの有効な座標系:グラフィック項目の座標を、シーンは、座標ビューの座標を

  • シーンの中心のQPainterの論理座標を座標原点一般シーンに相当しています
  • 同じデバイス座標とビューの座標、物理座標は、原点と、左上隅デフォルト
  • グラフィック座標ローカル座標ロジック、図起源のほぼ中央のメンバーであります

  1)グラフィックアイテム座標

    中心はローカル座標(項目座標)、(0,0)の通​​常中心、様々な座標変換を所有します

    マウスイベントは、グラフィックアイテムは、表現をローカル座標である座標のカスタムグラフィックアイテムを作成し、グラフィックアイテム描き、その検討する唯一の必要性ローカル座標を

    QGraphicsSceneとQGraphicsViewがあろう自動的に行う座標変換

    グラフィックアイテムの位置座標は、グラフィックアイテムの親座標系における中心点は、親グラフィック項目を有していない、親シーンで、グラフィックアイテムの位置座標は、シーンにあります。

    親グラフィック項目や他のグラフィックアイテム場合は、子供が同じ座標変換を行い、変換親座標。

    ほとんどのQGraphicsItem機能は、ローカル座標系で運転されています。

  2)ビューの座標

    ビュー座標は、ピクセルの物理座標ウィンドウインタフェース(ウィジェット)です。

    観測シーンにウィジェットを表示したり、専用ビュー座標ではなく。QGraphicsVIewビューポートの左コーナーは常に(0,0)

  3)シーン座標

    シーンは、すべてのグラフィックアイテムの座標に基づいている(画面座標)は、シーンがシーンの範囲を座標シーンを作成され、各トップレベルグラフィックアイテムの位置を記述する座標を定義することができる矩形領域

      シーン=新しいQGraphicsScene(-400、-300800600) 

    各グラフィック項目は、シーン内の位置座標、関数QGraphicsItemで与えられた:: scenePos()、グラフィックアイテムの境界の矩形、QGraphicsItemはあり:: sceneBoundingRect()

    QGraphicsScene境界矩形は、シーンが変化するまでその領域で行うことができます。

    長方形のシーンチェンジQGraphicsScene一覧::パラメータのシナリオが発生すると、()信号に変更

  4)マッピング(マッピング座標)を座標

    シーン内のグラフィックスの項目、グラフィックアイテムにシーン、アイテムのグラフィックパターンのアイテムだけでなく、ビューを操作するシーン間の変化を調整します

    QGraphicsViewの観点QGraphicsViewクリックスルー:: mapToScene()シーンのうちのマウスカーソルグラフィックアイテムを得ることがQGraphicsScene :: itemAt()関数を用いて、マッピング座標を座標シーンを表示します

 

おすすめ

転載: www.cnblogs.com/AmyBKLP/p/11704965.html