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

Posted

技术标签:

【中文标题】如何更改 Qt MainWindow 的不透明度?【英文标题】:How to change the opacity of Qt MainWindow? 【发布时间】:2015-06-17 00:44:26 【问题描述】:

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

我的主窗口什么都没有,只是我需要使用击键来更改不透明度。

现在看起来像这样。

我尝试使用this->setWindowOpacity(0.5);进行设置

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

以上是关于如何更改 Qt MainWindow 的不透明度?的主要内容,如果未能解决你的问题,请参考以下文章

Gnuplot - 如何更改键背景的不透明度?

如何使用 javascript 和按钮更改图像的不透明度?

Qt 子窗口设置为透明

Qt绘图去掉透明标题,窗口透明

three.js - 如何动态更改对象的不透明度?

如何使用css更改悬停时图像的不透明度