問題タブ [qrect]
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.
c++ - Qt - QTransform (または同様のもの) を使用して、内側の QRect を QGraphics との間でスケーリングします
いくつかの背景 - QGraphicsScene があり、ビューが 1 つしかなく、シーンの 1-1 スケールであるとします。事前に定義されたピクセル サイズを持つ、シーンの外部ビューを表す QRect A があります。A の内側に小さな四角形である QRect A1 があります。
どのように A1 をシーンに変換し、正しくスケーリングされるようにしますか (つまり、rect A の 1/4 の場合、シーンの 1/4 を占めます)、その変換を元に戻して、シーンで作成された rect をスケーリングしますか? rect Aに正しく収まるようにするには?
私はこのブルートフォースをすべて行うことができますが、Qt の組み込みクラスを使用する方法があるかどうか疑問に思っています...
python - QGraphicsRotation から QRectF へ?
左下隅を中心に指定された角度で PyQT4 の QRectF を回転させたい。長方形を描く方法は知っていますが、それを回転させる方法に固執しています。私はrotate()で試しましたが、座標系を指定された角度だけ時計回りに回転させます。
簡単な解決策はありますか (座標を変更してポリゴンを描画する以外)?
c++ - マウスを使用して QGraphicsRectItem のサイズを変更する方法
ユーザーがいくつかの四角形を描画し、マウス ポインターを使用してサイズを変更できるグラフィカル ユーザー インターフェイス (GUI) を開発しています。
長方形を描画するコードは完全に機能します。ただし、サイズ変更に関しては、望ましくないバグがいくつか発生します。
これが私のコードです:
開始変更:
この変数は、ユーザーが「変更モード」にあるかどうかをチェックします。
isOnTopLeftCornerPressed/isOnTopRightCornerPressed/isOnBottomRightCornerPressed/isOnBottomLeftCornerPressed :
これらの変数は、ユーザーが長方形の角 (右上、左上、右下、左下) の 1 つをマウス ポインターで押したかどうかを確認します。
rectModified
QGraphicsRectItem です
このコードを使用すると、ユーザーは四角形のサイズを変更できます。
ただし、サイズ変更中に高さまたは幅が負になると、機能しなくなります。
mouseMoveEvent() が呼び出されます。ただし、width()<0 の場合、「正規化された」関数は、Qt のドキュメントに記載されているように、height()<0 の場合、左右のコーナーをスワップせず、上下のコーナーもスワップしません。
私を手伝ってくれますか ?
c++ - QWidget フレーミング
ウィジェットの座標系がウィジェットに対してローカルであることを理解しています。0,0 左上。
ウィジェットにフレームを描画したいのですが、rect() によって返される QRect を使用すると、右と下がフレーム化されません。
「frameGeometry()」というメソッドがありますが、これはウィジェットと同じ座標系ではなく、親の座標系にある QRect を返します。
ローカル座標系でウィジェットのフレーミング長方形を取得する方法はありますか?
frameGeometry() を変換するか、単純に新しい四角形を作成できることはわかっています。
これは適切なことですか?
qt - QSystemTrayIcon はジオメトリ情報を返しません
Unity デスクトップで Ubuntu (17.04) を使用しています。QSystemTrayIcon のジオメトリ情報を取得できません:
これにより、次のように出力されます。
すべてがゼロになり、正しくありません。