c++ - QT4:带圆角的透明窗口

标签 c++ user-interface qt qt4

如何创建带有圆形边框(无标准边框)的部分透明窗口?

(我使用 Qt::FramelessWindowHint 来禁用标准边框)

我尝试了样式表,但 border-radiusopacity 似乎对窗口没有任何影响,它只适用于封闭小部件的子级。

我的第二个想法是让窗口完全透明(使用 setWindowOpacity),然后添加一个带有圆角的附加小部件(因为 border-radius 对 child 有效),然后将我的所有其他小部件分组到该小部件中。但这不起作用,因为 setWindowOpacity 也会影响所有 child (我还没有找到改变这种行为的方法)。

而且我能想到的任何使外部窗口透明的方法(比如样式表opacity)都不能正常工作(我只得到一个黑盒子而不是透明窗口)

我们将不胜感激。

最佳答案

我有一个类似的问题,我想在顶级小部件上绘画并且只显示绘画的部分。 setWindowOpacity 改变了绘制部分的不透明度,这是我不想要的。

this->setAttribute(Qt::WA_TranslucentBackground, true);

更改了没有绘制部分的小部件的不透明度。我只是尝试折腾一个按钮,它也显示完全不透明。所以你应该可以随心所欲地展示其他 child 。

关于c++ - QT4:带圆角的透明窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1909092/

相关文章:

c++ - 给定起始地址和大小访问内存中的图像

c++ - 使用什么库来创建简单的端口扫描器?

c++ - 从 C++ 将缓冲区传递给 NodeJS 时,我的数据消失了

java - 如何在 GUI Java 程序中创建圆序列

Qt 不承认声明的类

qt - 在 UDP 套接字上发送大数据

c++ - 未安装的包上的 CMake "find_package"命令意外成功

ios - SwiftUI 中文本的渐变作为前景色

windows - 使用免费工具开发基于 Windows 的轻量级(无运行时)GUI 应用程序

android - 如何为 Qt android 构建 MySQL 插件?