2

「Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint | Qt::WindowSystemMenuHint」windowFlags で QWidget を作成しました。

ウィンドウを移動/サイズ変更できるように、すべてのマウス イベントを再実装しました。

私が最後にやりたいことは、Windows 7 Dock システムに関して「通常のウィンドウ」と同じ動作を取得できるようにすることです。

ウィンドウを画面の左側/右側/上部の近くに移動すると、通常のウィンドウで、半分のウィンドウサイズまたはフルスクリーンにサイズ変更されます。

それを行う方法はありますか?

4

1 に答える 1

0

それはあまりにも明白ですが、それでも...

イベントをリッスンする必要があり、move検出するたびに、top-left <= 0またはtop-right >= SCREEN_WIDTHウィンドウのサイズを手動で変更する必要があります。確かに、それらすべての前に画面サイズを取得し、その半分を計算する必要があります。

言うまでもありませんが、半分最大化された状態で、ウィンドウが移動して元のサイズに戻るかどうかを聞いて確認する必要があります。

を使用しない限り、これを実装する簡単な方法はないと本当に信じていますwinapi。些細なことに異議を唱えることができ、私winapiが否定できない場合に備えて。

最終的により簡単な解決策を思いついた場合はお知らせください。

于 2013-01-24T09:24:50.687 に答える