秋·风

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

lazarus编写的软件适配linux主题的注意事项

发现编写的软件在linux暗色主题时界面惨不忍睹:

image

经排查发现form和其他控件color使用了clWhite就会在暗色出现上面的问题。
解决方法:
在 Lazarus 中,获取 Linux 主题背景颜色的正确方法是使用 系统颜色常量,而不是尝试获取硬编码的 RGB 值。
将所有form、控件的color及font.color按以下常用颜色替代原有的硬编码颜色值,如:form.color用clWindow替代clWhite,xxx.font.color:=clBtnText, 这种系统颜色常量会交由 WidgetSet 在绘制时解析,能自动适配当前主题。
以下是常用颜色:

通用/窗体背景:clWindow 或 clForm。前者通常代表输入框类背景。
按钮背景:clBtnFace
选择项背景:clHighlight
菜单背景:clMenu
字体颜色:clBtnText
效果:
注意:这个方法在银河麒麟 v10就算系统设置为深色模式,lazarus编译的软件始终是亮色模式,本方法无效。
UOS和ubuntu实测有效。
form.color:=clWindow后的界面已适配暗色:

image

 

posted on 2026-09-23 08:36  秋·风  阅读(85)  评论(0)    收藏  举报