Qt中的OS X透明面板?
Posted
技术标签:
【中文标题】Qt中的OS X透明面板?【英文标题】:OS X transparent panels in Qt? 【发布时间】:2010-08-25 17:04:58 【问题描述】:有没有办法按照 Qt 4.6(为 OS X 10.6/Cocoa 构建)中的 Apple Human Interface Guidelines 所述创建透明面板?
如果没有,有没有外观和功能相似的替代品?
我了解 Qt 是一个跨平台工具包,但我希望我的应用程序尽可能“原生”。
【问题讨论】:
【参考方案1】:我没有在 Mac 上尝试过,但这应该是可能的。 QWidget docs 是这样说的:
创建半透明窗口
从 Qt 4.5 开始,可以在支持合成的窗口系统上创建具有半透明区域的窗口。
要在***小部件中启用此功能,请将其
Qt::WA_TranslucentBackground
属性设置为setAttribute()
,并确保在您希望部分透明的区域中使用非透明颜色绘制其背景。平台说明:
X11:此功能依赖于使用支持 ARGB 视觉效果的 X 服务器和合成窗口管理器。
Windows:小部件需要设置
Qt::FramelessWindowHint
窗口标志才能使半透明工作。
我认为您的面板是***小部件,因此请确保按照上述说明设置 Qt::WA_TranslucentBackground
。
【讨论】:
感谢您的回答,但我真的在寻找一种方法来创建可可“透明面板”,如 Apple 人机界面指南的链接部分中所述/描述的那样。 我对 Mac 了解不多。你能解释一下两者的区别吗? 抱歉,我一定错过了您的回复。原始问题中链接的 Apple 人机界面指南的图 14-1 说明了差异。我还没有检查源代码,但恐怕 Qt 根本不支持这个依赖于平台的替代小部件集,因为我在文档中没有找到任何对它的引用。以上是关于Qt中的OS X透明面板?的主要内容,如果未能解决你的问题,请参考以下文章