1

我想要一个未装饰的窗口,它将留在所有窗口的背景中

为此,我将两个窗口标志应用于此 Qt 窗口:Qt::FramelessWindowHintQt::WindowStaysOnBottomHint.

如果我只应用第一个标志,它将取消装饰我的窗口。如果我只应用第二个标志,我将有一个未装饰但保留在所有窗口背景中的窗口。

我不明白为什么如果我同时应用两个标志我有两种情况:

  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 回答