如何使用Qt Quick 2.0制作透明窗口

如何使用Qt Quick 2.0制作透明窗口,qt,window,transparent,qt5,qtquick2,Qt,Window,Transparent,Qt5,Qtquick2,我已经知道如何使用Qt Quick 1.0创建透明窗口,但最近我开始使用Qt 5.0和Qt Quick 2.0,不知道如何使用它 集合属性 设置窗口标志 设置样式表 上述功能已从QtQuick2ApplicationViewer(QQuickView)中删除。 所以我想知道我是否可以用Qt Quick 2制作一个透明窗口 (是因为它基于OpenGL吗?)这里有一个Qt5代码: QSurfaceFormat surfaceFormat; surfaceFormat.setAlphaBufferSi

我已经知道如何使用Qt Quick 1.0创建透明窗口,但最近我开始使用Qt 5.0和Qt Quick 2.0,不知道如何使用它

集合属性 设置窗口标志 设置样式表

上述功能已从QtQuick2ApplicationViewer(QQuickView)中删除。 所以我想知道我是否可以用Qt Quick 2制作一个透明窗口 (是因为它基于OpenGL吗?)

这里有一个Qt5代码:

QSurfaceFormat surfaceFormat;
surfaceFormat.setAlphaBufferSize(8);
viewer.setFormat(surfaceFormat);
viewer.setClearBeforeRendering(true);
viewer.setColor(QColor(Qt::transparent));
请在此处查找可能的解决方案:


但是,使用
qt5.3
,可以使用内置的
QQuickWidget
类。

它工作得很好!谢谢此外,我还使用了“viewer.setFlags(Qt::CustomizeWindowint);”隐藏标题栏。但当我点击透明区域时,它仍然对事件做出响应。如何处理它?@XuHongxu查看Windows解决方案…@andrewrjones-请再次检查,此解决方案在OSX 10.9.1、Qt 5.1.1上对我有效。这应该被标记为正确的解决方案。对不起,我在这个网站上找不到任何东西。@XuHongxu:请检查或查看源代码!我甚至写了一个例子。谢谢,我找到了。它很有用!但是当我单击透明区域时,它仍然响应事件(我无法单击其透明区域下的其他窗口)。如何处理它?设置一个掩码(即调用setMask()),否则Qt不知道要通过哪些单击。