問題タブ [qgraphicsitem]

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 に答える
292 参照

qt - QGraphicsScene で QGraphicsPolygonItem のコピーを配置する際の問題

QGraphicsPolygonItem (objectA) に次の特性があるアプリケーションがあります。

シーン位置: X=250 Y=125

変身():

今、私は新しい QGraphicsPolygonItem (objectB) を作成し、そのシーンポスと変換をオブジェクト A と同じに設定しています:

問題は、objectB が ObjectA から X 軸方向に 50 単位移動することです。

理由はありますか?

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

qt - マウスがボタンを押した状態でQGraphicsItemに入ったときに検出する

QGraphicsItemマウスボタンが押されている間にマウスカーソルが移動したとき、つまりマウスがアイテムに入る前にボタンが押されたときを検出したい。私の最初のアイデアは を使用することhoverEnterEventでしたが、マウスの左ボタンが押されたときにトリガーされないようです。私の他のアイデアは を使用することdragEnterEventでしたが、まったくトリガーされないようです ( setAcceptDrops(True).

カーソルがアイテムの上に移動し、マウス ボタンが押されたことを検出する最良の方法は何ですか?

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

c++ - マウスグラブを失うことなくQGraphicsItemを別のシーンに移動するにはどうすればよいですか?

1つQGraphicsSceneはメインシーンで、いくつかの可動QGraphicsItemがあり、もう1つQGraphicsSceneはメインシーンの上にオーバーレイとしてあります。オーバーレイシーンはユーザーのディスプレイとまったく同じサイズですが、メインシーンははるかに大きいため、自動的に上下にスクロールする必要があります。

メインシーンのアイテムを移動する場合は、そのアイテムをメインシーンから削除してオーバーレイシーンに追加し、ユーザーがオーバーレイシーンのアイテムを移動できるようにし、マウスを離すとすぐに移動できるようにします。メインシーンに戻します。これにより、アイテムがディスプレイの端に近づいたときに、メインシーンをスムーズに自動スクロールできます。

問題は次のとおりです。アイテムがシーンから削除されると、イベントを受信するQMouseUngrabため、オーバーレイシーンでアイテムをもう一度クリックせずにアイテムを移動し続けることはできません。オーバーレイシーンでアングラブイベントを防止したり、偽物QMousePressを生成したりしようとしましたが、いずれも問題を解決しませんでした。

あるシーンでアイテムの移動を開始し、別のシーンで中断することなくアイテムを移動し続ける方法を知っていますか?

言い換えると:

  1. QMousePressメインシーンで起こります
  2. オーバーレイシーンで数QMouseMove秒、最後に発生するはずですQMouseRelease
  3. QMouseReleaseアイテムがメインシーンに戻された直後
0 投票する
3 に答える
10537 参照

c++ - Qt GraphicsView ストレッチ シーンに合わせて

わかりましたので、環境として Qt と C++ を使用しています。

QGraphicsViewUI にa を描画します。

次にシーンを作成し、そのシーンにセリフを追加します。5000 個のポイントの配列を調べて、各ポイントを結ぶ線を引きます。

問題は、取得している数値が非常に小さいことです (例: 2.000e-12)。数は、アプリケーションに基づいて一貫して変化します。シーンを調整してストレッチしてQGraphicsView. 今、私が見るのは私の視野の中心にある点だけです. 私は理にかなっていますか?

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

c++ - QGraphicsViewのQGraphicsItemクラスを使用して三角形を描画する方法

QGraphicsViewを使用して三角形のオブジェクトを描画したいと思いますQGraphicsItem。しかし、trianglerに従ってバウンディングrectを実装する方法がわかりません。

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

qt - (このアイテムが属する)グループ全体を選択せず​​にQGraphicsItemを選択する方法

グループ全体を選択せず​​に、1つのグループに属するアイテムを選択できるのではないかと思います。

私が作成しようとしているのは、移動できる(すべてのアイテムが一緒に移動される)アイテムのグループですが、個別に移動することはできません。ただし、このグループ内のアイテムを選択して、並べ替え、削除、色の変更などを実行できるようにもしたいと思います。

もう1つの問題は、グループのグループが存在する可能性があることです。親グループ内でこれらのグループも選択できるようにしたいと思います。どのグループのユーザーを選択したいかを判断できないため、これは問題になる可能性があると考えていました。デモンストレーションの目的で、次のアイテムで構成されるグラフィックのシーンがあるとします。

グループBを含むグループA。グループBには3行が含まれます。グループAをダブルクリックすると、グループBを選択できます。もう一度Bをダブルクリックすると、グループB内の行を選択できます。Escキーを押すと、ダブルクリックとは逆になります。問題は、すべての選択が親にルーティングされ、すべての子に戻されるため、その方法がわからないことです。

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

c++ - QTで複数のQGraphicsItemをマウスで1回押す

QGraphicsScene に QGraphicsItem のマトリックスがあり、要素をクリックすると色が変わります。これは で実装されmousePressEvent()ます。クリックしたままにして、カーソルを他の QGraphicsItem の上に移動し、それらの色も変更できるようにしたいので、mousePressEvent().

問題は、マウスが最初の要素をつかむため、クリックするとすべてのイベントが「保持」され、hoverEnterEvent()トリガーされないことです。に追加しようとしungrabMouse()ましmousePressEvent()たが、役に立ちませんでした。

1 つの解決策は、QGraphicsitem をドラッグ可能にし、そのために QT ドラッグ アンド ドロップ機能を使用することだと思います。実際、私はこれを持っています:

アプリケーションから要素の上にテキストをドラッグすると、希望どおりに機能しますが、QGraphicsItem を「ドラッグ」すると機能しません。

QGraphicsItem をドラッグ可能にして、クリックしたマウス ボタンでホバーしながらイベントをトリガーできるようにする唯一の解決策はありますか?

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

qt - QGraphicsRectItem::boundingRect() は、本来よりも 1 ピクセル大きい QRectF を返します

item.width=10 と item.height=10の QGrahicsRectItemアイテムがあるとします。その左上隅は (0,0) です。item.BoundingRect()を返す必要RectF(0,0,9,9)がありますが、代わりにRectF(0,0,10,10)

次のコードでテストできます。

したがって、boundingRect() は幅と高さが 11px の RectF を返しますが、width() と height() はどちらも 10 であると主張しています。

どうしたの?

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

qt4 - 子 QGraphicsItems のクリッピング

私はQGraphicsItem他のいくつかを含むを持っていますQGraphicsItems

それらを移動するときに、それらの子アイテムが親アイテムの四角形に対して描画およびクリップされるようにするにはどうすればよいですか?

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

c++ - Qt-シーン内の画像ピクセルに座標をマップする方法、マップする方法

Qtでシーンを作成し、オープンストリートマップ[.png]から画像を取得して、シーンに配置しました。また、その座標を別のファイルにエクスポートしました。私の質問は、画像ピクセルをマップ座標でマップする方法です。基本的には地図の道路を自分の画像にプロットしたいです。ありがとうございます。