問題タブ [qgraphicsview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2826 参照

c++ - qgraphicsview内でQPixMapImageを移動するにはどうすればよいですか

QPixMapImageをQGraphicsSceneに追加できますが、2つの問題があります。

まず、ヘッダーで宣言されたQPixmapItemへのポインターを作成できません。ここで、QGraphicsSceneを使用できます。

「エラー:'QGraphicsPixmapItem :: QGraphicsPixmapItem(MainWindow * const)の呼び出しに一致する関数がありません」というエラーが表示されます...同じ方法でメインでQGraphicsSceneを作成すると?

2番目の問題:スライダーを動かしたときにQGraphicsPixmapItemを動かせません(ポインターが機能するまで動かしません)。しかし、私はそれを動かすことさえできますか、それとも私はそれを塗り直す必要がありますか?

ヘッダ:

0 投票する
2 に答える
6434 参照

c++ - QGraphicsSceneからのQpixmapの削除

QGraphicsSceneとQPixmapを扱うときに、問題が発生しました。カメラで撮影したフレームを順番に表示しています。QTimerオブジェクトは、100ミリ秒ごとにupdateSingleView()関数を呼び出しています。それが私の内的機能です。

GUIはカメラのビューを表示していますが、残念ながらメモリリークが発生しています。呼び出したときに、関数は古いQPixmapを破壊するはずだscenes.at(0)->addPixmap(QPixmap::fromImage(Img));と思いましたが、明らかにそうではありません。removeItemリークが発生する理由とその解決方法を知っていますか?

0 投票する
1 に答える
2410 参照

qt - QGraphicsView を使用してローカル マップを表示する

マップ画像を表示し、その上にいくつかのアイテムを描画するために QGraphicsView を使用しようとしています。マップの境界はデカルト座標系です。たとえば、NE(-500,200) から SW(600,-350) までです。画像ピクセル <--> 座標系をマッピングする方法を知っています。

次のことを達成する必要があります。

  1. シーンにマップ イメージを追加し、実際のイメージ ピクセルをシーン座標にマップする方法を Qt に指示します。
  2. グラフィックアイテムを実際の位置に追加します。例: (-100,200)

(2) の実行は簡単です。アイテムをシーンに追加するだけです。(1) を達成するにはどうすればよいですか? Scene->addPixmap() を呼び出した後はどうすればよいですか?

編集- いくつかの説明:

  • 数百メートルの屋内エリアをマッピングしています
  • マップは、次の 2 つの方法でリアルタイムに変化します。
    • マップは数秒ごとに大きくなります
    • グラフィックアイテムが移動したり、色が変わったりします。
0 投票する
1 に答える
922 参照

.net - Qt Graphics View Frameworkに相当する.NET?

Qt Graphics View Frameworkと同様の機能を備えた.NET(3.5+)ライブラリはありますか?私が必要とする主な機能は次のとおりです。

  • 複数の動的な2Dグラフィックアイテムを表示できます
  • ズーム、回転をサポート
  • シーンをビューから分離し、(ピクセルではなく)シーン座標で作業できるようにします。
  • 個々のアイテムを選択できます
0 投票する
1 に答える
267 参照

c++ - QDragEvent の問題がある QTimer

QGraphicsView/Scene でウィジェットをドラッグできる GUI アプリケーションがあります。ウィジェットをドラッグしていないときに、パンとズームを行うこともできます。

私が欲しいもの: 画面の端近くにアイテムをドラッグすると、その方向にパンし始め、マウスが動いていなくてもパンし続けるようにしたいのですが、マウスはまだ移動する必要があります画面の上/左/右または下 10% に収まるようにします。

私が試したこと: dragMoveEvent 内で、マウスが画面の端にあるかどうかを確認します。もしそうなら、15ミリ秒のタイムアウトでQtimerを開始します。タイムアウト時に、中心を更新することでシーンを正しい方向にパンする機能がスロット化されます。このアプローチは機能しますが、マウスを端に置いたままにしておくと、パンが途切れ途切れになり、マウスが端の内側を動き回っている場合、パンはスムーズになります。

結論: マウスが動いていないときに、パンが途切れたり遅れたりするのはなぜですか? エッジの内側でマウスを動かしたときのように、パンがスムーズになるように修正するにはどうすればよいですか?

0 投票する
1 に答える
359 参照

c++ - QGraphicView要素を同期します

2つのQGraphicViewオブジェクトがあります(同じ派生クラスに基づいています)。それらには異なるシーンが含まれていますが、いくつかの(時には多くの)アイテムは同じです。そのようなアイテムは共通の座標を持っています。代わりに、同じフレーム内にどちらか一方を表示します。私はそれをするのに何の問題もありませんでした。

両方のグラフィックビューで、ズームインとズームアウト、およびビューポートの移動の可能性を追加しました。表示する表示ビューを選択するボタンを追加しました。私が抱えている問題は、これまでのところ、一般的なアイテム(ここでも同じ座標)が画面上の同じ場所にあることを確認できていないことです。

2つのビューを同期する方法についてアドバイスはありますか?

変換行列を使用してこれを解決しようとしましたが、ズームは機能するようになりましたが、まだ翻訳の問題があり、取り除くことができないようです!

0 投票する
1 に答える
1005 参照

qt - QGraphicsPixmapItem が展開モードの QGraphicsScene に表示されない

次のコードを使用すると、私のワークステーション (QtCreator を「手動で」実行) ですべて正常に動作します。しかし、Qt がインストールされていない別の PC では、私のアプリケーションは QGraphicsPixmapItem を表示しません。

なぜなのかご存知ですか ?

0 投票する
1 に答える
2629 参照

unit-testing - qt グラフィックス ビューのウィジェット/アイテムを単体テストする方法

Qt4 のグラフィックスビュー アーキテクチャを多用するアプリケーションがあり、UI コンポーネントの自動テストを開始したいのですが、をテストすべきか、または qgraphicsview/qgraphicswidget ベースのクラスをテストする方法に関連するリソースが見つかりません。

0 投票する
2 に答える
2579 参照

qt - QGraphicsView の上に透明な QGLWidget

私はQGraphicsView2D画像を表示するために使用していますがQGLWidget、3Dオブジェクトを表示するための別のウィンドウもあります。3D オブジェクトの回転に基づいて、「QGraphicsView」に表示される画像を動的に変更しています。

Maya 2009 のような 2D イメージの上に半透明の 3D オブジェクトをレンダリングしたいと思います (ビューポートの右上隅にある立方体に注目してください): (ソース: boulevard-creation.com )Maya 2009 のスクリーンショット

現在のウィジェットでこれを行うことは可能ですか? そうでない場合、どうすればそれを行うことができますか?

私が考えることができる 1 つのオプションは、すべてをレンダリングしてQGLWidget、2D イメージをテクスチャとして背景平面に表示することですが、それは少し面倒に思えます。

0 投票する
1 に答える
278 参照

qt - QGraphicsTextItemのテキスト内のwheelEventの位置を確認する方法は?

QGraphicsTextItemマウスイベントを受け入れる(つまり、メソッドを実装する)サブクラスがありますwheelEvent()

ホイールイベントが発生したテキスト内のどの位置を確認するにはどうすればよいですか?ホイールイベントが発生したときにマウスポインタが指し示した文字を取得したいと思います。

ところで:1つの可能な解決策は、一連のQGraphicsTextItemオブジェクトを作成することです-文字ごとに1つ。このようにして、各文字はそれ自体のイベントを受け入れることができますが、私はすべてのカーニングやその他の植字の洗練度を失います。