lazarus编写的软件适配linux主题的注意事项
发现编写的软件在linux暗色主题时界面惨不忍睹:

经排查发现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后的界面已适配暗色:


浙公网安备 33010602011771号