更改滚动条颜色

时间:2017-09-22 11:34:13

标签: macos cocoa

我想更改Mac应用程序的滚动条颜色。具体来说,我想改变背景颜色。

我的应用程序是基于Qt的,因此应用程序已经创建并运行。我可以获得NSView的{​​{1}}。

我知道我可以在Qt中使用样式表来改变滚动条的外观,但我更喜欢为默认滚动条设置应用程序范围的背景颜色。

我尝试QWidget但滚动条仍然是亮白色。

1 个答案:

答案 0 :(得分:0)

我认为this screenshot右侧的滚动条正是您要找的。

在这种情况下,您无法使用Swift更改该颜色,因为它是由操作系统定义的。

我知道这个解决方案可能不是你想要的,因为它不是主要面向代码的,但据我所知,没有别的办法。您需要先下载ThemeEngine来修改.car文件。 here

  1. 转至/System/Library/CoreServices/SystemAppearance.bundle/Contents/Resources并将名为“System Appearance.car”的文件复制到您有权写入的任何目录。
  2. 找到名为“ScrollBarOverlay_Track”的图像资源,并用您自己的替换默认滚动条背景图像。我用Photoshop编辑。
  3. 保存修改后的SystemAppearance.car版本,并确保将其包含在应用的Resources文件夹中。
  4. 初始化窗口时编写以下代码:

     window.appearance = NSAppearance(appearanceNamed: NSAppearance.Name(rawValue: "SystemAppearance"), bundle: nil)
    

    这将改变窗口的外观。如果您以不同的方式命名,请将window替换为您的窗口。

  5. 希望这有帮助。