【问题标题】:OS X transparent panels in Qt?Qt中的OS X透明面板?
【发布时间】:2010-08-25 17:04:58
【问题描述】:

有没有办法按照 Qt 4.6(为 OS X 10.6/Cocoa 构建)中的 Apple Human Interface Guidelines 所述创建透明面板?

如果没有,有没有外观和功能相似的替代品?

我了解 Qt 是一个跨平台工具包,但我希望我的应用程序尽可能“原生”。

【问题讨论】:

    标签: cocoa macos qt qt4


    【解决方案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 根本不支持这个依赖于平台的替代小部件集,因为我在文档中没有找到任何对它的引用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-08
    • 2011-04-16
    • 1970-01-01
    • 2010-09-20
    • 2014-09-11
    • 2010-12-09
    相关资源
    最近更新 更多