1

すべてのウィンドウの背景に残る、装飾されていないウィンドウが必要です。

このために、この Qt ウィンドウに 2 つのウィンドウ フラグを適用します:Qt::FramelessWindowHintQt::WindowStaysOnBottomHint.

最初のフラグのみを適用すると、ウィンドウの装飾が解除されます。2 番目のフラグのみを適用すると、装飾されていないウィンドウが表示されますが、すべてのウィンドウの背景に残ります。

両方のフラグを適用すると、次の 2 つの状況になる理由がわかりません。

  1. 注文が次の場合:

    view->setWindowFlags(Qt::WindowStaysOnBottomHint);
    view->setWindowFlags(Qt::FramelessWindowHint);
    

    装飾されていないが背景にとどまらないウィンドウがあります。

  2. 注文が次の場合:

    view->setWindowFlags(Qt::FramelessWindowHint);
    view->setWindowFlags(Qt::WindowStaysOnBottomHint);
    

    装飾されていないが背景ままのウィンドウがあります。

バックグラウンドにとどまり、装飾されていないウィンドウを作成するにはどうすればよいですか?

4

1 に答える 1

4

Qtについて何も知らなくても、あなたが望むのは次のとおりだと思います:

view->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnBottomHint);

フラグは、多くの場合、特定のビットが設定された整数として実装されbitwise or、フラグの複数のビットを設定するために使用されます。

于 2013-10-31T18:58:38.440 に答える