如何改变 Qt MainWindow 的不透明度?

How to change the opacity of Qt MainWindow?

如何通过一些值改变 Qt MainWindow 的不透明度?

我的主要 window 不包含任何内容,只是我需要以某种方式使用击键更改不透明度。

现在看起来是这样的。

我尝试使用 this->setWindowOpacity(0.5);

进行设置

没有得到任何不透明效果。

您可以使用 setProperty 更改 windowOpacity 属性。

this->setProperty("windowOpacity", 0.5);

以下大部分时间对我有用(只要我们可以 运行 在样式表中用其他方式覆盖问题)。考虑将 rgba 的最后一个分量更改为小于 255 以使其半透明。

widget->setStyleSheet("background-color: rgba(255, 255, 255, 255);");

请注意,子窗口小部件默认情况下可能会继承父窗口小部件的透明背景,除非您为它们指定 "background-color: rgba(255, 255, 255, 0);" 或以某种方式限制上层样式表的可见性,例如"QMainWindow(background-color: rgba(255, 255, 255, 255);}".