【发布时间】:2010-08-25 17:04:58
【问题描述】:
有没有办法按照 Qt 4.6(为 OS X 10.6/Cocoa 构建)中的 Apple Human Interface Guidelines 所述创建透明面板?
如果没有,有没有外观和功能相似的替代品?
我了解 Qt 是一个跨平台工具包,但我希望我的应用程序尽可能“原生”。
【问题讨论】:
有没有办法按照 Qt 4.6(为 OS X 10.6/Cocoa 构建)中的 Apple Human Interface Guidelines 所述创建透明面板?
如果没有,有没有外观和功能相似的替代品?
我了解 Qt 是一个跨平台工具包,但我希望我的应用程序尽可能“原生”。
【问题讨论】:
我没有在 Mac 上尝试过,但这应该是可能的。 QWidget docs 是这样说的:
创建半透明窗口
从 Qt 4.5 开始,可以在支持合成的窗口系统上创建具有半透明区域的窗口。
要在顶级小部件中启用此功能,请将其
Qt::WA_TranslucentBackground属性设置为setAttribute(),并确保在您希望部分透明的区域中使用非透明颜色绘制其背景。平台说明:
X11:此功能依赖于使用支持 ARGB 视觉效果的 X 服务器和合成窗口管理器。
Windows:小部件需要设置
Qt::FramelessWindowHint窗口标志才能使半透明工作。
我认为您的面板是顶级小部件,因此请确保按照上述说明设置 Qt::WA_TranslucentBackground。
【讨论】: