今日のソフトウェアアプリケーションの多くと同じように、私のプログラムはフレームレスウィンドウを持っていて、OSに合わせるためにドロップシャドウが残っているようにしたい。最初のステップは、ウィンドウフラグをQt::FramelessWindowHint
に設定してフレームを削除することでした。しかし、トリッキーな部分は、ウィンドウの外側にドロップシャドウを追加することです。すべてを保持する小さなベースウィジェットにQGraphicsDropShadowEffect
を追加し、Qt::WA_TranslucentBackground
をtrueに設定してQMainWindow
を透過にしました。フレームレスウィンドウシャドーのQGraphicsDropShadowEffectに代わるもの
これは、ウィンドウのサイズ変更を可能にするためにQSizeGrip
を追加するまで、私にとっては良い解決策と思われます。ウィンドウのサイズが変更されるたびに、paintイベントが呼び出され、QGraphicsDropShadowEffect
を再計算する必要があります。これにより、スーパー・サイズが不安定になり、パフォーマンスが大幅に低下します。
QGraphicsDropShadowEffect
の代替手段はありますか?
はあなたのコードを表示を解決してください、私はうまくいけば、より良いガイドラインに従うことを私の質問を編集し – eyllanesc
わかりました。 – mrg95